TPTP Problem File: ITP197^1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : ITP197^1 : TPTP v8.2.0. Released v7.5.0.
% Domain   : Interactive Theorem Proving
% Problem  : Sledgehammer Type problem prob_386__3259180_1
% Version  : Especial.
% English  :

% Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
%          : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% Source   : [Des21]
% Names    : Type/prob_386__3259180_1 [Des21]

% Status   : Theorem
% Rating   : 0.50 v8.2.0, 0.38 v8.1.0, 0.36 v7.5.0
% Syntax   : Number of formulae    :  463 ( 194 unt; 103 typ;   0 def)
%            Number of atoms       : 1024 ( 428 equ;   0 cnn)
%            Maximal formula atoms :   10 (   2 avg)
%            Number of connectives : 2773 ( 147   ~;  28   |;  82   &;2109   @)
%                                         (   0 <=>; 407  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   20 (   6 avg)
%            Number of types       :   15 (  14 usr)
%            Number of type conns  :  442 ( 442   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   92 (  89 usr;  11 con; 0-3 aty)
%            Number of variables   : 1070 (  86   ^; 935   !;  49   ?;1070   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Sledgehammer 2021-02-23 15:34:01.522
%------------------------------------------------------------------------------
% Could-be-implicit typings (14)
thf(ty_n_t__List__Olist_It__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J_J_J,type,
    list_l1704431731scheme: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_I_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J_J_J,type,
    list_l865305402le_typ: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J_J,type,
    list_l1334080099scheme: $tType ).

thf(ty_n_t__List__Olist_I_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J_J,type,
    list_n396811828le_typ: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otyp_J_J,type,
    list_l1790670291le_typ: $tType ).

thf(ty_n_t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J,type,
    list_T247403987scheme: $tType ).

thf(ty_n_t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
    list_T1103309005le_typ: $tType ).

thf(ty_n_t__Type____Mirabelle____lczmhmumaa__Otype____scheme,type,
    type_M1694694083scheme: $tType ).

thf(ty_n_t__List__Olist_It__Set__Oset_It__Nat__Onat_J_J,type,
    list_set_nat: $tType ).

thf(ty_n_t__List__Olist_I_062_It__Nat__Onat_M_Eo_J_J,type,
    list_nat_o: $tType ).

thf(ty_n_t__Type____Mirabelle____lczmhmumaa__Otyp,type,
    type_Mirabelle_typ: $tType ).

thf(ty_n_t__List__Olist_It__Nat__Onat_J,type,
    list_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Nat__Onat_J,type,
    set_nat: $tType ).

thf(ty_n_t__Nat__Onat,type,
    nat: $tType ).

% Explicit typings (89)
thf(sy_c_HOL_OThe_001t__Nat__Onat,type,
    the_nat: ( nat > $o ) > nat ).

thf(sy_c_If_001t__Nat__Onat,type,
    if_nat: $o > nat > nat > nat ).

thf(sy_c_If_001t__Type____Mirabelle____lczmhmumaa__Otyp,type,
    if_Typ1169047309le_typ: $o > type_Mirabelle_typ > type_Mirabelle_typ > type_Mirabelle_typ ).

thf(sy_c_Lattices_Osemilattice__neutr_001_062_It__Nat__Onat_M_Eo_J,type,
    semila1414375521_nat_o: ( ( nat > $o ) > ( nat > $o ) > nat > $o ) > ( nat > $o ) > $o ).

thf(sy_c_Lattices_Osemilattice__neutr_001t__Set__Oset_It__Nat__Onat_J,type,
    semila1369944356et_nat: ( set_nat > set_nat > set_nat ) > set_nat > $o ).

thf(sy_c_Lattices_Osup__class_Osup_001_062_It__Nat__Onat_M_Eo_J,type,
    sup_sup_nat_o: ( nat > $o ) > ( nat > $o ) > nat > $o ).

thf(sy_c_Lattices_Osup__class_Osup_001t__Nat__Onat,type,
    sup_sup_nat: nat > nat > nat ).

thf(sy_c_Lattices_Osup__class_Osup_001t__Set__Oset_It__Nat__Onat_J,type,
    sup_sup_set_nat: set_nat > set_nat > set_nat ).

thf(sy_c_List_Olist_OCons_001_062_It__Nat__Onat_M_Eo_J,type,
    cons_nat_o: ( nat > $o ) > list_nat_o > list_nat_o ).

thf(sy_c_List_Olist_OCons_001_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
    cons_n499085924le_typ: ( nat > type_Mirabelle_typ ) > list_n396811828le_typ > list_n396811828le_typ ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_I_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J_J,type,
    cons_l1800589546le_typ: list_n396811828le_typ > list_l865305402le_typ > list_l865305402le_typ ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J_J,type,
    cons_l531914285scheme: list_l1334080099scheme > list_l1704431731scheme > list_l1704431731scheme ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
    cons_l392684675le_typ: list_T1103309005le_typ > list_l1790670291le_typ > list_l1790670291le_typ ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J,type,
    cons_l1910959773scheme: list_T247403987scheme > list_l1334080099scheme > list_l1334080099scheme ).

thf(sy_c_List_Olist_OCons_001t__Nat__Onat,type,
    cons_nat: nat > list_nat > list_nat ).

thf(sy_c_List_Olist_OCons_001t__Set__Oset_It__Nat__Onat_J,type,
    cons_set_nat: set_nat > list_set_nat > list_set_nat ).

thf(sy_c_List_Olist_OCons_001t__Type____Mirabelle____lczmhmumaa__Otyp,type,
    cons_T363929085le_typ: type_Mirabelle_typ > list_T1103309005le_typ > list_T1103309005le_typ ).

thf(sy_c_List_Olist_OCons_001t__Type____Mirabelle____lczmhmumaa__Otype____scheme,type,
    cons_T633159821scheme: type_M1694694083scheme > list_T247403987scheme > list_T247403987scheme ).

thf(sy_c_List_Olist_ONil_001_062_It__Nat__Onat_M_Eo_J,type,
    nil_nat_o: list_nat_o ).

thf(sy_c_List_Olist_ONil_001t__Nat__Onat,type,
    nil_nat: list_nat ).

thf(sy_c_List_Olist_ONil_001t__Set__Oset_It__Nat__Onat_J,type,
    nil_set_nat: list_set_nat ).

thf(sy_c_List_Olist_ONil_001t__Type____Mirabelle____lczmhmumaa__Otype____scheme,type,
    nil_Ty61485117scheme: list_T247403987scheme ).

thf(sy_c_List_Oord__class_Olexordp__eq_001_062_It__Nat__Onat_M_Eo_J,type,
    ord_lexordp_eq_nat_o: list_nat_o > list_nat_o > $o ).

thf(sy_c_List_Oord__class_Olexordp__eq_001t__Nat__Onat,type,
    ord_lexordp_eq_nat: list_nat > list_nat > $o ).

thf(sy_c_List_Oord__class_Olexordp__eq_001t__Set__Oset_It__Nat__Onat_J,type,
    ord_le727790544et_nat: list_set_nat > list_set_nat > $o ).

thf(sy_c_Orderings_Obot__class_Obot_001_062_It__Nat__Onat_M_Eo_J,type,
    bot_bot_nat_o: nat > $o ).

thf(sy_c_Orderings_Obot__class_Obot_001_Eo,type,
    bot_bot_o: $o ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Nat__Onat,type,
    bot_bot_nat: nat ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Nat__Onat_J,type,
    bot_bot_set_nat: set_nat ).

thf(sy_c_Orderings_Oord__class_Oless_001_062_It__Nat__Onat_M_Eo_J,type,
    ord_less_nat_o: ( nat > $o ) > ( nat > $o ) > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Nat__Onat,type,
    ord_less_nat: nat > nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Set__Oset_It__Nat__Onat_J,type,
    ord_less_set_nat: set_nat > set_nat > $o ).

thf(sy_c_Set_OCollect_001t__Nat__Onat,type,
    collect_nat: ( nat > $o ) > set_nat ).

thf(sy_c_Set_Oinsert_001t__Nat__Onat,type,
    insert_nat: nat > set_nat > set_nat ).

thf(sy_c_Set_Ois__empty_001t__Nat__Onat,type,
    is_empty_nat: set_nat > $o ).

thf(sy_c_Set_Ois__singleton_001t__Nat__Onat,type,
    is_singleton_nat: set_nat > $o ).

thf(sy_c_Set_Othe__elem_001t__Nat__Onat,type,
    the_elem_nat: set_nat > nat ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Ocod,type,
    type_Mirabelle_cod: ( nat > type_Mirabelle_typ ) > set_nat ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Odom,type,
    type_Mirabelle_dom: ( nat > type_Mirabelle_typ ) > set_nat ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Oid__subst,type,
    type_M405566558_subst: nat > type_Mirabelle_typ ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Omk__scheme,type,
    type_M1006385707scheme: type_Mirabelle_typ > type_M1694694083scheme ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Onew__tv_001_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
    type_M1734147655le_typ: nat > ( nat > type_Mirabelle_typ ) > $o ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Onew__tv_001t__List__Olist_I_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J_J,type,
    type_M244876119le_typ: nat > list_n396811828le_typ > $o ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Onew__tv_001t__List__Olist_It__List__Olist_I_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J_J_J,type,
    type_M2086816231le_typ: nat > list_l865305402le_typ > $o ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Onew__tv_001t__List__Olist_It__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J_J_J,type,
    type_M1172169604scheme: nat > list_l1704431731scheme > $o ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Onew__tv_001t__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otyp_J_J,type,
    type_M1826376056le_typ: nat > list_l1790670291le_typ > $o ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Onew__tv_001t__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J_J,type,
    type_M1377662078scheme: nat > list_l1334080099scheme > $o ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Onew__tv_001t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
    type_M263553000le_typ: nat > list_T1103309005le_typ > $o ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Onew__tv_001t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J,type,
    type_M2064939256scheme: nat > list_T247403987scheme > $o ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Onew__tv_001t__Type____Mirabelle____lczmhmumaa__Otyp,type,
    type_M1211611096le_typ: nat > type_Mirabelle_typ > $o ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Onew__tv_001t__Type____Mirabelle____lczmhmumaa__Otype____scheme,type,
    type_M1963061490scheme: nat > type_M1694694083scheme > $o ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Oof__nat__class_Oof__nat_001t__Nat__Onat,type,
    type_M1898948661at_nat: nat > nat ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otyp_OFun,type,
    type_Mirabelle_Fun: type_Mirabelle_typ > type_Mirabelle_typ > type_Mirabelle_typ ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otyp_OTVar,type,
    type_Mirabelle_TVar: nat > type_Mirabelle_typ ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otyp__of__class_Otyp__of_001t__Type____Mirabelle____lczmhmumaa__Otyp,type,
    type_M1743451154le_typ: type_Mirabelle_typ > type_Mirabelle_typ ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__scheme_OBVar,type,
    type_M2048935292e_BVar: nat > type_M1694694083scheme ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__scheme_OFVar,type,
    type_M876316792e_FVar: nat > type_M1694694083scheme ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__scheme_OSFun,type,
    type_M155660035e_SFun: type_M1694694083scheme > type_M1694694083scheme > type_M1694694083scheme ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Oapp__subst_001_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
    type_M1158474302le_typ: ( nat > type_Mirabelle_typ ) > ( nat > type_Mirabelle_typ ) > nat > type_Mirabelle_typ ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Oapp__subst_001t__List__Olist_I_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J_J,type,
    type_M737052622le_typ: ( nat > type_Mirabelle_typ ) > list_n396811828le_typ > list_n396811828le_typ ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Oapp__subst_001t__List__Olist_It__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J_J_J,type,
    type_M1385924301scheme: ( nat > type_Mirabelle_typ ) > list_l1704431731scheme > list_l1704431731scheme ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Oapp__subst_001t__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otyp_J_J,type,
    type_M1913464047le_typ: ( nat > type_Mirabelle_typ ) > list_l1790670291le_typ > list_l1790670291le_typ ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Oapp__subst_001t__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J_J,type,
    type_M1061687367scheme: ( nat > type_Mirabelle_typ ) > list_l1334080099scheme > list_l1334080099scheme ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Oapp__subst_001t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
    type_M1440203487le_typ: ( nat > type_Mirabelle_typ ) > list_T1103309005le_typ > list_T1103309005le_typ ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Oapp__subst_001t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J,type,
    type_M1944210753scheme: ( nat > type_Mirabelle_typ ) > list_T247403987scheme > list_T247403987scheme ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Oapp__subst_001t__Type____Mirabelle____lczmhmumaa__Otyp,type,
    type_M784671311le_typ: ( nat > type_Mirabelle_typ ) > type_Mirabelle_typ > type_Mirabelle_typ ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Oapp__subst_001t__Type____Mirabelle____lczmhmumaa__Otype____scheme,type,
    type_M1690910139scheme: ( nat > type_Mirabelle_typ ) > type_M1694694083scheme > type_M1694694083scheme ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Obound__tv_001_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
    type_M772783356le_typ: ( nat > type_Mirabelle_typ ) > set_nat ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Obound__tv_001t__List__Olist_I_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J_J,type,
    type_M513401740le_typ: list_n396811828le_typ > set_nat ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Obound__tv_001t__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J_J,type,
    type_M1496178953scheme: list_l1334080099scheme > set_nat ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Obound__tv_001t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
    type_M1539052445le_typ: list_T1103309005le_typ > set_nat ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Obound__tv_001t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J,type,
    type_M961603331scheme: list_T247403987scheme > set_nat ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Obound__tv_001t__Type____Mirabelle____lczmhmumaa__Otyp,type,
    type_M801073677le_typ: type_Mirabelle_typ > set_nat ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Obound__tv_001t__Type____Mirabelle____lczmhmumaa__Otype____scheme,type,
    type_M326705277scheme: type_M1694694083scheme > set_nat ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Ofree__tv_001_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
    type_M1715972684le_typ: ( nat > type_Mirabelle_typ ) > set_nat ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Ofree__tv_001t__List__Olist_I_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J_J,type,
    type_M1691543772le_typ: list_n396811828le_typ > set_nat ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Ofree__tv_001t__List__Olist_It__List__Olist_I_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J_J_J,type,
    type_M906078444le_typ: list_l865305402le_typ > set_nat ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Ofree__tv_001t__List__Olist_It__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J_J_J,type,
    type_M1926053183scheme: list_l1704431731scheme > set_nat ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Ofree__tv_001t__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otyp_J_J,type,
    type_M1418941437le_typ: list_l1790670291le_typ > set_nat ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Ofree__tv_001t__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J_J,type,
    type_M1958029241scheme: list_l1334080099scheme > set_nat ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Ofree__tv_001t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
    type_M510873837le_typ: list_T1103309005le_typ > set_nat ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Ofree__tv_001t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J,type,
    type_M141510067scheme: list_T247403987scheme > set_nat ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Ofree__tv_001t__Type____Mirabelle____lczmhmumaa__Otyp,type,
    type_M49385309le_typ: type_Mirabelle_typ > set_nat ).

thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Ofree__tv_001t__Type____Mirabelle____lczmhmumaa__Otype____scheme,type,
    type_M1050318637scheme: type_M1694694083scheme > set_nat ).

thf(sy_c_member_001t__Nat__Onat,type,
    member_nat: nat > set_nat > $o ).

thf(sy_v_S1,type,
    s1: nat > type_Mirabelle_typ ).

thf(sy_v_S2,type,
    s2: nat > type_Mirabelle_typ ).

thf(sy_v_n,type,
    n: nat ).

thf(sy_v_x,type,
    x: nat ).

% Relevant facts (354)
thf(fact_0_type__scheme_Oinject_I1_J,axiom,
    ! [X1: nat,Y1: nat] :
      ( ( ( type_M876316792e_FVar @ X1 )
        = ( type_M876316792e_FVar @ Y1 ) )
      = ( X1 = Y1 ) ) ).

% type_scheme.inject(1)
thf(fact_1_eq__free__eq__subst__type__scheme,axiom,
    ! [Sch: type_M1694694083scheme,S1: nat > type_Mirabelle_typ,S2: nat > type_Mirabelle_typ] :
      ( ! [N: nat] :
          ( ( member_nat @ N @ ( type_M1050318637scheme @ Sch ) )
         => ( ( S1 @ N )
            = ( S2 @ N ) ) )
     => ( ( type_M1690910139scheme @ S1 @ Sch )
        = ( type_M1690910139scheme @ S2 @ Sch ) ) ) ).

% eq_free_eq_subst_type_scheme
thf(fact_2_scheme__substitutions__only__on__free__variables,axiom,
    ! [Sch: type_M1694694083scheme,S: nat > type_Mirabelle_typ,S3: nat > type_Mirabelle_typ] :
      ( ! [X: nat] :
          ( ( member_nat @ X @ ( type_M1050318637scheme @ Sch ) )
         => ( ( S @ X )
            = ( S3 @ X ) ) )
     => ( ( type_M1690910139scheme @ S @ Sch )
        = ( type_M1690910139scheme @ S3 @ Sch ) ) ) ).

% scheme_substitutions_only_on_free_variables
thf(fact_3_app__subst__type__scheme_Osimps_I1_J,axiom,
    ! [S: nat > type_Mirabelle_typ,N2: nat] :
      ( ( type_M1690910139scheme @ S @ ( type_M876316792e_FVar @ N2 ) )
      = ( type_M1006385707scheme @ ( S @ N2 ) ) ) ).

% app_subst_type_scheme.simps(1)
thf(fact_4_app__subst__type__scheme_Osimps_I2_J,axiom,
    ! [S: nat > type_Mirabelle_typ,N2: nat] :
      ( ( type_M1690910139scheme @ S @ ( type_M2048935292e_BVar @ N2 ) )
      = ( type_M2048935292e_BVar @ N2 ) ) ).

% app_subst_type_scheme.simps(2)
thf(fact_5_app__subst__type__scheme_Osimps_I3_J,axiom,
    ! [S: nat > type_Mirabelle_typ,Sch1: type_M1694694083scheme,Sch2: type_M1694694083scheme] :
      ( ( type_M1690910139scheme @ S @ ( type_M155660035e_SFun @ Sch1 @ Sch2 ) )
      = ( type_M155660035e_SFun @ ( type_M1690910139scheme @ S @ Sch1 ) @ ( type_M1690910139scheme @ S @ Sch2 ) ) ) ).

% app_subst_type_scheme.simps(3)
thf(fact_6_type__scheme_Odistinct_I1_J,axiom,
    ! [X1: nat,X2: nat] :
      ( ( type_M876316792e_FVar @ X1 )
     != ( type_M2048935292e_BVar @ X2 ) ) ).

% type_scheme.distinct(1)
thf(fact_7_type__scheme_Odistinct_I3_J,axiom,
    ! [X1: nat,X31: type_M1694694083scheme,X32: type_M1694694083scheme] :
      ( ( type_M876316792e_FVar @ X1 )
     != ( type_M155660035e_SFun @ X31 @ X32 ) ) ).

% type_scheme.distinct(3)
thf(fact_8_app__subst__Cons,axiom,
    ! [S: nat > type_Mirabelle_typ,X3: nat > type_Mirabelle_typ,L: list_n396811828le_typ] :
      ( ( type_M737052622le_typ @ S @ ( cons_n499085924le_typ @ X3 @ L ) )
      = ( cons_n499085924le_typ @ ( type_M1158474302le_typ @ S @ X3 ) @ ( type_M737052622le_typ @ S @ L ) ) ) ).

% app_subst_Cons
thf(fact_9_app__subst__Cons,axiom,
    ! [S: nat > type_Mirabelle_typ,X3: list_l1334080099scheme,L: list_l1704431731scheme] :
      ( ( type_M1385924301scheme @ S @ ( cons_l531914285scheme @ X3 @ L ) )
      = ( cons_l531914285scheme @ ( type_M1061687367scheme @ S @ X3 ) @ ( type_M1385924301scheme @ S @ L ) ) ) ).

% app_subst_Cons
thf(fact_10_app__subst__Cons,axiom,
    ! [S: nat > type_Mirabelle_typ,X3: list_T1103309005le_typ,L: list_l1790670291le_typ] :
      ( ( type_M1913464047le_typ @ S @ ( cons_l392684675le_typ @ X3 @ L ) )
      = ( cons_l392684675le_typ @ ( type_M1440203487le_typ @ S @ X3 ) @ ( type_M1913464047le_typ @ S @ L ) ) ) ).

% app_subst_Cons
thf(fact_11_app__subst__Cons,axiom,
    ! [S: nat > type_Mirabelle_typ,X3: type_Mirabelle_typ,L: list_T1103309005le_typ] :
      ( ( type_M1440203487le_typ @ S @ ( cons_T363929085le_typ @ X3 @ L ) )
      = ( cons_T363929085le_typ @ ( type_M784671311le_typ @ S @ X3 ) @ ( type_M1440203487le_typ @ S @ L ) ) ) ).

% app_subst_Cons
thf(fact_12_app__subst__Cons,axiom,
    ! [S: nat > type_Mirabelle_typ,X3: list_T247403987scheme,L: list_l1334080099scheme] :
      ( ( type_M1061687367scheme @ S @ ( cons_l1910959773scheme @ X3 @ L ) )
      = ( cons_l1910959773scheme @ ( type_M1944210753scheme @ S @ X3 ) @ ( type_M1061687367scheme @ S @ L ) ) ) ).

% app_subst_Cons
thf(fact_13_app__subst__Cons,axiom,
    ! [S: nat > type_Mirabelle_typ,X3: type_M1694694083scheme,L: list_T247403987scheme] :
      ( ( type_M1944210753scheme @ S @ ( cons_T633159821scheme @ X3 @ L ) )
      = ( cons_T633159821scheme @ ( type_M1690910139scheme @ S @ X3 ) @ ( type_M1944210753scheme @ S @ L ) ) ) ).

% app_subst_Cons
thf(fact_14_free__tv__mk__scheme,axiom,
    ! [T: type_Mirabelle_typ] :
      ( ( type_M1050318637scheme @ ( type_M1006385707scheme @ T ) )
      = ( type_M49385309le_typ @ T ) ) ).

% free_tv_mk_scheme
thf(fact_15_free__tv__type__scheme_Osimps_I1_J,axiom,
    ! [M: nat] :
      ( ( type_M1050318637scheme @ ( type_M876316792e_FVar @ M ) )
      = ( insert_nat @ M @ bot_bot_set_nat ) ) ).

% free_tv_type_scheme.simps(1)
thf(fact_16_new__if__subst__type__scheme,axiom,
    ! [N2: nat,Sch: type_M1694694083scheme,S: nat > type_Mirabelle_typ,S3: nat > type_Mirabelle_typ] :
      ( ( type_M1963061490scheme @ N2 @ Sch )
     => ( ( type_M1690910139scheme
          @ ^ [K: nat] : ( if_Typ1169047309le_typ @ ( ord_less_nat @ K @ N2 ) @ ( S @ K ) @ ( S3 @ K ) )
          @ Sch )
        = ( type_M1690910139scheme @ S @ Sch ) ) ) ).

% new_if_subst_type_scheme
thf(fact_17_type__scheme_Oinject_I3_J,axiom,
    ! [X31: type_M1694694083scheme,X32: type_M1694694083scheme,Y31: type_M1694694083scheme,Y32: type_M1694694083scheme] :
      ( ( ( type_M155660035e_SFun @ X31 @ X32 )
        = ( type_M155660035e_SFun @ Y31 @ Y32 ) )
      = ( ( X31 = Y31 )
        & ( X32 = Y32 ) ) ) ).

% type_scheme.inject(3)
thf(fact_18_type__scheme_Oinject_I2_J,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ( type_M2048935292e_BVar @ X2 )
        = ( type_M2048935292e_BVar @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% type_scheme.inject(2)
thf(fact_19_new__tv__Cons,axiom,
    ! [N2: nat,X3: list_n396811828le_typ,L: list_l865305402le_typ] :
      ( ( type_M2086816231le_typ @ N2 @ ( cons_l1800589546le_typ @ X3 @ L ) )
      = ( ( type_M244876119le_typ @ N2 @ X3 )
        & ( type_M2086816231le_typ @ N2 @ L ) ) ) ).

% new_tv_Cons
thf(fact_20_new__tv__Cons,axiom,
    ! [N2: nat,X3: list_T1103309005le_typ,L: list_l1790670291le_typ] :
      ( ( type_M1826376056le_typ @ N2 @ ( cons_l392684675le_typ @ X3 @ L ) )
      = ( ( type_M263553000le_typ @ N2 @ X3 )
        & ( type_M1826376056le_typ @ N2 @ L ) ) ) ).

% new_tv_Cons
thf(fact_21_new__tv__Cons,axiom,
    ! [N2: nat,X3: list_l1334080099scheme,L: list_l1704431731scheme] :
      ( ( type_M1172169604scheme @ N2 @ ( cons_l531914285scheme @ X3 @ L ) )
      = ( ( type_M1377662078scheme @ N2 @ X3 )
        & ( type_M1172169604scheme @ N2 @ L ) ) ) ).

% new_tv_Cons
thf(fact_22_new__tv__Cons,axiom,
    ! [N2: nat,X3: list_T247403987scheme,L: list_l1334080099scheme] :
      ( ( type_M1377662078scheme @ N2 @ ( cons_l1910959773scheme @ X3 @ L ) )
      = ( ( type_M2064939256scheme @ N2 @ X3 )
        & ( type_M1377662078scheme @ N2 @ L ) ) ) ).

% new_tv_Cons
thf(fact_23_new__tv__Cons,axiom,
    ! [N2: nat,X3: type_Mirabelle_typ,L: list_T1103309005le_typ] :
      ( ( type_M263553000le_typ @ N2 @ ( cons_T363929085le_typ @ X3 @ L ) )
      = ( ( type_M1211611096le_typ @ N2 @ X3 )
        & ( type_M263553000le_typ @ N2 @ L ) ) ) ).

% new_tv_Cons
thf(fact_24_new__tv__Cons,axiom,
    ! [N2: nat,X3: nat > type_Mirabelle_typ,L: list_n396811828le_typ] :
      ( ( type_M244876119le_typ @ N2 @ ( cons_n499085924le_typ @ X3 @ L ) )
      = ( ( type_M1734147655le_typ @ N2 @ X3 )
        & ( type_M244876119le_typ @ N2 @ L ) ) ) ).

% new_tv_Cons
thf(fact_25_new__tv__Cons,axiom,
    ! [N2: nat,X3: type_M1694694083scheme,L: list_T247403987scheme] :
      ( ( type_M2064939256scheme @ N2 @ ( cons_T633159821scheme @ X3 @ L ) )
      = ( ( type_M1963061490scheme @ N2 @ X3 )
        & ( type_M2064939256scheme @ N2 @ L ) ) ) ).

% new_tv_Cons
thf(fact_26_subst__mk__scheme,axiom,
    ! [S: nat > type_Mirabelle_typ,T: type_Mirabelle_typ] :
      ( ( type_M1690910139scheme @ S @ ( type_M1006385707scheme @ T ) )
      = ( type_M1006385707scheme @ ( type_M784671311le_typ @ S @ T ) ) ) ).

% subst_mk_scheme
thf(fact_27_new__tv__Fun2,axiom,
    ! [N2: nat,T1: type_M1694694083scheme,T2: type_M1694694083scheme] :
      ( ( type_M1963061490scheme @ N2 @ ( type_M155660035e_SFun @ T1 @ T2 ) )
      = ( ( type_M1963061490scheme @ N2 @ T1 )
        & ( type_M1963061490scheme @ N2 @ T2 ) ) ) ).

% new_tv_Fun2
thf(fact_28_new__tv__BVar,axiom,
    ! [N2: nat,M: nat] : ( type_M1963061490scheme @ N2 @ ( type_M2048935292e_BVar @ M ) ) ).

% new_tv_BVar
thf(fact_29_new__tv__FVar,axiom,
    ! [N2: nat,M: nat] :
      ( ( type_M1963061490scheme @ N2 @ ( type_M876316792e_FVar @ M ) )
      = ( ord_less_nat @ M @ N2 ) ) ).

% new_tv_FVar
thf(fact_30_type__scheme_Odistinct_I5_J,axiom,
    ! [X2: nat,X31: type_M1694694083scheme,X32: type_M1694694083scheme] :
      ( ( type_M2048935292e_BVar @ X2 )
     != ( type_M155660035e_SFun @ X31 @ X32 ) ) ).

% type_scheme.distinct(5)
thf(fact_31_mk__scheme__Fun,axiom,
    ! [T: type_Mirabelle_typ,Sch1: type_M1694694083scheme,Sch2: type_M1694694083scheme] :
      ( ( ( type_M1006385707scheme @ T )
        = ( type_M155660035e_SFun @ Sch1 @ Sch2 ) )
     => ? [T12: type_Mirabelle_typ,T22: type_Mirabelle_typ] :
          ( ( Sch1
            = ( type_M1006385707scheme @ T12 ) )
          & ( Sch2
            = ( type_M1006385707scheme @ T22 ) ) ) ) ).

% mk_scheme_Fun
thf(fact_32_eq__free__eq__subst__te,axiom,
    ! [T: type_Mirabelle_typ,S1: nat > type_Mirabelle_typ,S2: nat > type_Mirabelle_typ] :
      ( ! [N: nat] :
          ( ( member_nat @ N @ ( type_M49385309le_typ @ T ) )
         => ( ( S1 @ N )
            = ( S2 @ N ) ) )
     => ( ( type_M784671311le_typ @ S1 @ T )
        = ( type_M784671311le_typ @ S2 @ T ) ) ) ).

% eq_free_eq_subst_te
thf(fact_33_eq__subst__te__eq__free,axiom,
    ! [S1: nat > type_Mirabelle_typ,T: type_Mirabelle_typ,S2: nat > type_Mirabelle_typ,N2: nat] :
      ( ( ( type_M784671311le_typ @ S1 @ T )
        = ( type_M784671311le_typ @ S2 @ T ) )
     => ( ( member_nat @ N2 @ ( type_M49385309le_typ @ T ) )
       => ( ( S1 @ N2 )
          = ( S2 @ N2 ) ) ) ) ).

% eq_subst_te_eq_free
thf(fact_34_typ__substitutions__only__on__free__variables,axiom,
    ! [T: type_Mirabelle_typ,S: nat > type_Mirabelle_typ,S3: nat > type_Mirabelle_typ] :
      ( ! [X: nat] :
          ( ( member_nat @ X @ ( type_M49385309le_typ @ T ) )
         => ( ( S @ X )
            = ( S3 @ X ) ) )
     => ( ( type_M784671311le_typ @ S @ T )
        = ( type_M784671311le_typ @ S3 @ T ) ) ) ).

% typ_substitutions_only_on_free_variables
thf(fact_35_mk__scheme__injective,axiom,
    ! [T: type_Mirabelle_typ,T3: type_Mirabelle_typ] :
      ( ( ( type_M1006385707scheme @ T )
        = ( type_M1006385707scheme @ T3 ) )
     => ( T = T3 ) ) ).

% mk_scheme_injective
thf(fact_36_free__tv__type__scheme_Osimps_I2_J,axiom,
    ! [M: nat] :
      ( ( type_M1050318637scheme @ ( type_M2048935292e_BVar @ M ) )
      = bot_bot_set_nat ) ).

% free_tv_type_scheme.simps(2)
thf(fact_37_type__scheme_Oexhaust,axiom,
    ! [Y: type_M1694694083scheme] :
      ( ! [X12: nat] :
          ( Y
         != ( type_M876316792e_FVar @ X12 ) )
     => ( ! [X22: nat] :
            ( Y
           != ( type_M2048935292e_BVar @ X22 ) )
       => ~ ! [X312: type_M1694694083scheme,X322: type_M1694694083scheme] :
              ( Y
             != ( type_M155660035e_SFun @ X312 @ X322 ) ) ) ) ).

% type_scheme.exhaust
thf(fact_38_type__scheme_Oinduct,axiom,
    ! [P: type_M1694694083scheme > $o,Type_scheme: type_M1694694083scheme] :
      ( ! [X: nat] : ( P @ ( type_M876316792e_FVar @ X ) )
     => ( ! [X: nat] : ( P @ ( type_M2048935292e_BVar @ X ) )
       => ( ! [X1a: type_M1694694083scheme,X2a: type_M1694694083scheme] :
              ( ( P @ X1a )
             => ( ( P @ X2a )
               => ( P @ ( type_M155660035e_SFun @ X1a @ X2a ) ) ) )
         => ( P @ Type_scheme ) ) ) ) ).

% type_scheme.induct
thf(fact_39_new__tv__def,axiom,
    ( type_M244876119le_typ
    = ( ^ [N3: nat,Ts: list_n396811828le_typ] :
        ! [M2: nat] :
          ( ( member_nat @ M2 @ ( type_M1691543772le_typ @ Ts ) )
         => ( ord_less_nat @ M2 @ N3 ) ) ) ) ).

% new_tv_def
thf(fact_40_new__tv__def,axiom,
    ( type_M1377662078scheme
    = ( ^ [N3: nat,Ts: list_l1334080099scheme] :
        ! [M2: nat] :
          ( ( member_nat @ M2 @ ( type_M1958029241scheme @ Ts ) )
         => ( ord_less_nat @ M2 @ N3 ) ) ) ) ).

% new_tv_def
thf(fact_41_new__tv__def,axiom,
    ( type_M263553000le_typ
    = ( ^ [N3: nat,Ts: list_T1103309005le_typ] :
        ! [M2: nat] :
          ( ( member_nat @ M2 @ ( type_M510873837le_typ @ Ts ) )
         => ( ord_less_nat @ M2 @ N3 ) ) ) ) ).

% new_tv_def
thf(fact_42_new__tv__def,axiom,
    ( type_M1963061490scheme
    = ( ^ [N3: nat,Ts: type_M1694694083scheme] :
        ! [M2: nat] :
          ( ( member_nat @ M2 @ ( type_M1050318637scheme @ Ts ) )
         => ( ord_less_nat @ M2 @ N3 ) ) ) ) ).

% new_tv_def
thf(fact_43_new__tv__def,axiom,
    ( type_M1211611096le_typ
    = ( ^ [N3: nat,Ts: type_Mirabelle_typ] :
        ! [M2: nat] :
          ( ( member_nat @ M2 @ ( type_M49385309le_typ @ Ts ) )
         => ( ord_less_nat @ M2 @ N3 ) ) ) ) ).

% new_tv_def
thf(fact_44_new__tv__def,axiom,
    ( type_M2064939256scheme
    = ( ^ [N3: nat,Ts: list_T247403987scheme] :
        ! [M2: nat] :
          ( ( member_nat @ M2 @ ( type_M141510067scheme @ Ts ) )
         => ( ord_less_nat @ M2 @ N3 ) ) ) ) ).

% new_tv_def
thf(fact_45_new__tv__def,axiom,
    ( type_M1734147655le_typ
    = ( ^ [N3: nat,Ts: nat > type_Mirabelle_typ] :
        ! [M2: nat] :
          ( ( member_nat @ M2 @ ( type_M1715972684le_typ @ Ts ) )
         => ( ord_less_nat @ M2 @ N3 ) ) ) ) ).

% new_tv_def
thf(fact_46_singleton__conv,axiom,
    ! [A: nat] :
      ( ( collect_nat
        @ ^ [X4: nat] : X4 = A )
      = ( insert_nat @ A @ bot_bot_set_nat ) ) ).

% singleton_conv
thf(fact_47_singleton__conv2,axiom,
    ! [A: nat] :
      ( ( collect_nat
        @ ( ^ [Y3: nat,Z: nat] : Y3 = Z
          @ A ) )
      = ( insert_nat @ A @ bot_bot_set_nat ) ) ).

% singleton_conv2
thf(fact_48_singletonI,axiom,
    ! [A: nat] : ( member_nat @ A @ ( insert_nat @ A @ bot_bot_set_nat ) ) ).

% singletonI
thf(fact_49_insertCI,axiom,
    ! [A: nat,B: set_nat,B2: nat] :
      ( ( ~ ( member_nat @ A @ B )
       => ( A = B2 ) )
     => ( member_nat @ A @ ( insert_nat @ B2 @ B ) ) ) ).

% insertCI
thf(fact_50_insert__iff,axiom,
    ! [A: nat,B2: nat,A2: set_nat] :
      ( ( member_nat @ A @ ( insert_nat @ B2 @ A2 ) )
      = ( ( A = B2 )
        | ( member_nat @ A @ A2 ) ) ) ).

% insert_iff
thf(fact_51_insert__absorb2,axiom,
    ! [X3: nat,A2: set_nat] :
      ( ( insert_nat @ X3 @ ( insert_nat @ X3 @ A2 ) )
      = ( insert_nat @ X3 @ A2 ) ) ).

% insert_absorb2
thf(fact_52_list_Oinject,axiom,
    ! [X21: type_M1694694083scheme,X222: list_T247403987scheme,Y21: type_M1694694083scheme,Y22: list_T247403987scheme] :
      ( ( ( cons_T633159821scheme @ X21 @ X222 )
        = ( cons_T633159821scheme @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X222 = Y22 ) ) ) ).

% list.inject
thf(fact_53_list_Oinject,axiom,
    ! [X21: list_T247403987scheme,X222: list_l1334080099scheme,Y21: list_T247403987scheme,Y22: list_l1334080099scheme] :
      ( ( ( cons_l1910959773scheme @ X21 @ X222 )
        = ( cons_l1910959773scheme @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X222 = Y22 ) ) ) ).

% list.inject
thf(fact_54_list_Oinject,axiom,
    ! [X21: type_Mirabelle_typ,X222: list_T1103309005le_typ,Y21: type_Mirabelle_typ,Y22: list_T1103309005le_typ] :
      ( ( ( cons_T363929085le_typ @ X21 @ X222 )
        = ( cons_T363929085le_typ @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X222 = Y22 ) ) ) ).

% list.inject
thf(fact_55_list_Oinject,axiom,
    ! [X21: nat > type_Mirabelle_typ,X222: list_n396811828le_typ,Y21: nat > type_Mirabelle_typ,Y22: list_n396811828le_typ] :
      ( ( ( cons_n499085924le_typ @ X21 @ X222 )
        = ( cons_n499085924le_typ @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X222 = Y22 ) ) ) ).

% list.inject
thf(fact_56_list_Oinject,axiom,
    ! [X21: nat,X222: list_nat,Y21: nat,Y22: list_nat] :
      ( ( ( cons_nat @ X21 @ X222 )
        = ( cons_nat @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X222 = Y22 ) ) ) ).

% list.inject
thf(fact_57_empty__iff,axiom,
    ! [C: nat] :
      ~ ( member_nat @ C @ bot_bot_set_nat ) ).

% empty_iff
thf(fact_58_mem__Collect__eq,axiom,
    ! [A: nat,P: nat > $o] :
      ( ( member_nat @ A @ ( collect_nat @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_59_Collect__mem__eq,axiom,
    ! [A2: set_nat] :
      ( ( collect_nat
        @ ^ [X4: nat] : ( member_nat @ X4 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_60_Collect__cong,axiom,
    ! [P: nat > $o,Q: nat > $o] :
      ( ! [X: nat] :
          ( ( P @ X )
          = ( Q @ X ) )
     => ( ( collect_nat @ P )
        = ( collect_nat @ Q ) ) ) ).

% Collect_cong
thf(fact_61_all__not__in__conv,axiom,
    ! [A2: set_nat] :
      ( ( ! [X4: nat] :
            ~ ( member_nat @ X4 @ A2 ) )
      = ( A2 = bot_bot_set_nat ) ) ).

% all_not_in_conv
thf(fact_62_Collect__empty__eq,axiom,
    ! [P: nat > $o] :
      ( ( ( collect_nat @ P )
        = bot_bot_set_nat )
      = ( ! [X4: nat] :
            ~ ( P @ X4 ) ) ) ).

% Collect_empty_eq
thf(fact_63_empty__Collect__eq,axiom,
    ! [P: nat > $o] :
      ( ( bot_bot_set_nat
        = ( collect_nat @ P ) )
      = ( ! [X4: nat] :
            ~ ( P @ X4 ) ) ) ).

% empty_Collect_eq
thf(fact_64_new__if__subst__type__scheme__list,axiom,
    ! [N2: nat,A2: list_T247403987scheme,S: nat > type_Mirabelle_typ,S3: nat > type_Mirabelle_typ] :
      ( ( type_M2064939256scheme @ N2 @ A2 )
     => ( ( type_M1944210753scheme
          @ ^ [K: nat] : ( if_Typ1169047309le_typ @ ( ord_less_nat @ K @ N2 ) @ ( S @ K ) @ ( S3 @ K ) )
          @ A2 )
        = ( type_M1944210753scheme @ S @ A2 ) ) ) ).

% new_if_subst_type_scheme_list
thf(fact_65_ex__in__conv,axiom,
    ! [A2: set_nat] :
      ( ( ? [X4: nat] : ( member_nat @ X4 @ A2 ) )
      = ( A2 != bot_bot_set_nat ) ) ).

% ex_in_conv
thf(fact_66_equals0I,axiom,
    ! [A2: set_nat] :
      ( ! [Y4: nat] :
          ~ ( member_nat @ Y4 @ A2 )
     => ( A2 = bot_bot_set_nat ) ) ).

% equals0I
thf(fact_67_equals0D,axiom,
    ! [A2: set_nat,A: nat] :
      ( ( A2 = bot_bot_set_nat )
     => ~ ( member_nat @ A @ A2 ) ) ).

% equals0D
thf(fact_68_emptyE,axiom,
    ! [A: nat] :
      ~ ( member_nat @ A @ bot_bot_set_nat ) ).

% emptyE
thf(fact_69_not__Cons__self2,axiom,
    ! [X3: type_M1694694083scheme,Xs: list_T247403987scheme] :
      ( ( cons_T633159821scheme @ X3 @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_70_not__Cons__self2,axiom,
    ! [X3: list_T247403987scheme,Xs: list_l1334080099scheme] :
      ( ( cons_l1910959773scheme @ X3 @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_71_not__Cons__self2,axiom,
    ! [X3: type_Mirabelle_typ,Xs: list_T1103309005le_typ] :
      ( ( cons_T363929085le_typ @ X3 @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_72_not__Cons__self2,axiom,
    ! [X3: nat > type_Mirabelle_typ,Xs: list_n396811828le_typ] :
      ( ( cons_n499085924le_typ @ X3 @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_73_not__Cons__self2,axiom,
    ! [X3: nat,Xs: list_nat] :
      ( ( cons_nat @ X3 @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_74_mk__disjoint__insert,axiom,
    ! [A: nat,A2: set_nat] :
      ( ( member_nat @ A @ A2 )
     => ? [B3: set_nat] :
          ( ( A2
            = ( insert_nat @ A @ B3 ) )
          & ~ ( member_nat @ A @ B3 ) ) ) ).

% mk_disjoint_insert
thf(fact_75_insert__commute,axiom,
    ! [X3: nat,Y: nat,A2: set_nat] :
      ( ( insert_nat @ X3 @ ( insert_nat @ Y @ A2 ) )
      = ( insert_nat @ Y @ ( insert_nat @ X3 @ A2 ) ) ) ).

% insert_commute
thf(fact_76_insert__eq__iff,axiom,
    ! [A: nat,A2: set_nat,B2: nat,B: set_nat] :
      ( ~ ( member_nat @ A @ A2 )
     => ( ~ ( member_nat @ B2 @ B )
       => ( ( ( insert_nat @ A @ A2 )
            = ( insert_nat @ B2 @ B ) )
          = ( ( ( A = B2 )
             => ( A2 = B ) )
            & ( ( A != B2 )
             => ? [C2: set_nat] :
                  ( ( A2
                    = ( insert_nat @ B2 @ C2 ) )
                  & ~ ( member_nat @ B2 @ C2 )
                  & ( B
                    = ( insert_nat @ A @ C2 ) )
                  & ~ ( member_nat @ A @ C2 ) ) ) ) ) ) ) ).

% insert_eq_iff
thf(fact_77_insert__absorb,axiom,
    ! [A: nat,A2: set_nat] :
      ( ( member_nat @ A @ A2 )
     => ( ( insert_nat @ A @ A2 )
        = A2 ) ) ).

% insert_absorb
thf(fact_78_insert__ident,axiom,
    ! [X3: nat,A2: set_nat,B: set_nat] :
      ( ~ ( member_nat @ X3 @ A2 )
     => ( ~ ( member_nat @ X3 @ B )
       => ( ( ( insert_nat @ X3 @ A2 )
            = ( insert_nat @ X3 @ B ) )
          = ( A2 = B ) ) ) ) ).

% insert_ident
thf(fact_79_Set_Oset__insert,axiom,
    ! [X3: nat,A2: set_nat] :
      ( ( member_nat @ X3 @ A2 )
     => ~ ! [B3: set_nat] :
            ( ( A2
              = ( insert_nat @ X3 @ B3 ) )
           => ( member_nat @ X3 @ B3 ) ) ) ).

% Set.set_insert
thf(fact_80_insertI2,axiom,
    ! [A: nat,B: set_nat,B2: nat] :
      ( ( member_nat @ A @ B )
     => ( member_nat @ A @ ( insert_nat @ B2 @ B ) ) ) ).

% insertI2
thf(fact_81_insertI1,axiom,
    ! [A: nat,B: set_nat] : ( member_nat @ A @ ( insert_nat @ A @ B ) ) ).

% insertI1
thf(fact_82_insertE,axiom,
    ! [A: nat,B2: nat,A2: set_nat] :
      ( ( member_nat @ A @ ( insert_nat @ B2 @ A2 ) )
     => ( ( A != B2 )
       => ( member_nat @ A @ A2 ) ) ) ).

% insertE
thf(fact_83_empty__def,axiom,
    ( bot_bot_set_nat
    = ( collect_nat
      @ ^ [X4: nat] : $false ) ) ).

% empty_def
thf(fact_84_insert__Collect,axiom,
    ! [A: nat,P: nat > $o] :
      ( ( insert_nat @ A @ ( collect_nat @ P ) )
      = ( collect_nat
        @ ^ [U: nat] :
            ( ( U != A )
           => ( P @ U ) ) ) ) ).

% insert_Collect
thf(fact_85_insert__compr,axiom,
    ( insert_nat
    = ( ^ [A3: nat,B4: set_nat] :
          ( collect_nat
          @ ^ [X4: nat] :
              ( ( X4 = A3 )
              | ( member_nat @ X4 @ B4 ) ) ) ) ) ).

% insert_compr
thf(fact_86_singleton__inject,axiom,
    ! [A: nat,B2: nat] :
      ( ( ( insert_nat @ A @ bot_bot_set_nat )
        = ( insert_nat @ B2 @ bot_bot_set_nat ) )
     => ( A = B2 ) ) ).

% singleton_inject
thf(fact_87_insert__not__empty,axiom,
    ! [A: nat,A2: set_nat] :
      ( ( insert_nat @ A @ A2 )
     != bot_bot_set_nat ) ).

% insert_not_empty
thf(fact_88_doubleton__eq__iff,axiom,
    ! [A: nat,B2: nat,C: nat,D: nat] :
      ( ( ( insert_nat @ A @ ( insert_nat @ B2 @ bot_bot_set_nat ) )
        = ( insert_nat @ C @ ( insert_nat @ D @ bot_bot_set_nat ) ) )
      = ( ( ( A = C )
          & ( B2 = D ) )
        | ( ( A = D )
          & ( B2 = C ) ) ) ) ).

% doubleton_eq_iff
thf(fact_89_singleton__iff,axiom,
    ! [B2: nat,A: nat] :
      ( ( member_nat @ B2 @ ( insert_nat @ A @ bot_bot_set_nat ) )
      = ( B2 = A ) ) ).

% singleton_iff
thf(fact_90_singletonD,axiom,
    ! [B2: nat,A: nat] :
      ( ( member_nat @ B2 @ ( insert_nat @ A @ bot_bot_set_nat ) )
     => ( B2 = A ) ) ).

% singletonD
thf(fact_91_Collect__conv__if2,axiom,
    ! [P: nat > $o,A: nat] :
      ( ( ( P @ A )
       => ( ( collect_nat
            @ ^ [X4: nat] :
                ( ( A = X4 )
                & ( P @ X4 ) ) )
          = ( insert_nat @ A @ bot_bot_set_nat ) ) )
      & ( ~ ( P @ A )
       => ( ( collect_nat
            @ ^ [X4: nat] :
                ( ( A = X4 )
                & ( P @ X4 ) ) )
          = bot_bot_set_nat ) ) ) ).

% Collect_conv_if2
thf(fact_92_Collect__conv__if,axiom,
    ! [P: nat > $o,A: nat] :
      ( ( ( P @ A )
       => ( ( collect_nat
            @ ^ [X4: nat] :
                ( ( X4 = A )
                & ( P @ X4 ) ) )
          = ( insert_nat @ A @ bot_bot_set_nat ) ) )
      & ( ~ ( P @ A )
       => ( ( collect_nat
            @ ^ [X4: nat] :
                ( ( X4 = A )
                & ( P @ X4 ) ) )
          = bot_bot_set_nat ) ) ) ).

% Collect_conv_if
thf(fact_93_the__elem__eq,axiom,
    ! [X3: nat] :
      ( ( the_elem_nat @ ( insert_nat @ X3 @ bot_bot_set_nat ) )
      = X3 ) ).

% the_elem_eq
thf(fact_94_bot__apply,axiom,
    ( bot_bot_nat_o
    = ( ^ [X4: nat] : bot_bot_o ) ) ).

% bot_apply
thf(fact_95_bound__tv__type__scheme_Osimps_I2_J,axiom,
    ! [M: nat] :
      ( ( type_M326705277scheme @ ( type_M2048935292e_BVar @ M ) )
      = ( insert_nat @ M @ bot_bot_set_nat ) ) ).

% bound_tv_type_scheme.simps(2)
thf(fact_96_is__singletonI,axiom,
    ! [X3: nat] : ( is_singleton_nat @ ( insert_nat @ X3 @ bot_bot_set_nat ) ) ).

% is_singletonI
thf(fact_97_bot_Onot__eq__extremum,axiom,
    ! [A: nat > $o] :
      ( ( A != bot_bot_nat_o )
      = ( ord_less_nat_o @ bot_bot_nat_o @ A ) ) ).

% bot.not_eq_extremum
thf(fact_98_bot_Onot__eq__extremum,axiom,
    ! [A: set_nat] :
      ( ( A != bot_bot_set_nat )
      = ( ord_less_set_nat @ bot_bot_set_nat @ A ) ) ).

% bot.not_eq_extremum
thf(fact_99_bot_Onot__eq__extremum,axiom,
    ! [A: nat] :
      ( ( A != bot_bot_nat )
      = ( ord_less_nat @ bot_bot_nat @ A ) ) ).

% bot.not_eq_extremum
thf(fact_100_bot_Oextremum__strict,axiom,
    ! [A: nat > $o] :
      ~ ( ord_less_nat_o @ A @ bot_bot_nat_o ) ).

% bot.extremum_strict
thf(fact_101_bot_Oextremum__strict,axiom,
    ! [A: set_nat] :
      ~ ( ord_less_set_nat @ A @ bot_bot_set_nat ) ).

% bot.extremum_strict
thf(fact_102_bot_Oextremum__strict,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ bot_bot_nat ) ).

% bot.extremum_strict
thf(fact_103_free__tv__TVar,axiom,
    ! [M: nat] :
      ( ( type_M49385309le_typ @ ( type_Mirabelle_TVar @ M ) )
      = ( insert_nat @ M @ bot_bot_set_nat ) ) ).

% free_tv_TVar
thf(fact_104_bound__tv__type__scheme_Osimps_I1_J,axiom,
    ! [M: nat] :
      ( ( type_M326705277scheme @ ( type_M876316792e_FVar @ M ) )
      = bot_bot_set_nat ) ).

% bound_tv_type_scheme.simps(1)
thf(fact_105_typ_Oinject_I1_J,axiom,
    ! [X1: nat,Y1: nat] :
      ( ( ( type_Mirabelle_TVar @ X1 )
        = ( type_Mirabelle_TVar @ Y1 ) )
      = ( X1 = Y1 ) ) ).

% typ.inject(1)
thf(fact_106_new__tv__TVar,axiom,
    ! [N2: nat,M: nat] :
      ( ( type_M1211611096le_typ @ N2 @ ( type_Mirabelle_TVar @ M ) )
      = ( ord_less_nat @ M @ N2 ) ) ).

% new_tv_TVar
thf(fact_107_new__tv__TVar__subst,axiom,
    ! [N2: nat] : ( type_M1734147655le_typ @ N2 @ type_Mirabelle_TVar ) ).

% new_tv_TVar_subst
thf(fact_108_eq__free__eq__subst__scheme__list,axiom,
    ! [A2: list_T247403987scheme,S1: nat > type_Mirabelle_typ,S2: nat > type_Mirabelle_typ] :
      ( ! [N: nat] :
          ( ( member_nat @ N @ ( type_M141510067scheme @ A2 ) )
         => ( ( S1 @ N )
            = ( S2 @ N ) ) )
     => ( ( type_M1944210753scheme @ S1 @ A2 )
        = ( type_M1944210753scheme @ S2 @ A2 ) ) ) ).

% eq_free_eq_subst_scheme_list
thf(fact_109_scheme__list__substitutions__only__on__free__variables,axiom,
    ! [A2: list_T247403987scheme,S: nat > type_Mirabelle_typ,S3: nat > type_Mirabelle_typ] :
      ( ! [X: nat] :
          ( ( member_nat @ X @ ( type_M141510067scheme @ A2 ) )
         => ( ( S @ X )
            = ( S3 @ X ) ) )
     => ( ( type_M1944210753scheme @ S @ A2 )
        = ( type_M1944210753scheme @ S3 @ A2 ) ) ) ).

% scheme_list_substitutions_only_on_free_variables
thf(fact_110_bot__set__def,axiom,
    ( bot_bot_set_nat
    = ( collect_nat @ bot_bot_nat_o ) ) ).

% bot_set_def
thf(fact_111_not__psubset__empty,axiom,
    ! [A2: set_nat] :
      ~ ( ord_less_set_nat @ A2 @ bot_bot_set_nat ) ).

% not_psubset_empty
thf(fact_112_app__subst__TVar,axiom,
    ! [S: nat > type_Mirabelle_typ,N2: nat] :
      ( ( type_M784671311le_typ @ S @ ( type_Mirabelle_TVar @ N2 ) )
      = ( S @ N2 ) ) ).

% app_subst_TVar
thf(fact_113_is__singleton__the__elem,axiom,
    ( is_singleton_nat
    = ( ^ [A4: set_nat] :
          ( A4
          = ( insert_nat @ ( the_elem_nat @ A4 ) @ bot_bot_set_nat ) ) ) ) ).

% is_singleton_the_elem
thf(fact_114_is__singletonI_H,axiom,
    ! [A2: set_nat] :
      ( ( A2 != bot_bot_set_nat )
     => ( ! [X: nat,Y4: nat] :
            ( ( member_nat @ X @ A2 )
           => ( ( member_nat @ Y4 @ A2 )
             => ( X = Y4 ) ) )
       => ( is_singleton_nat @ A2 ) ) ) ).

% is_singletonI'
thf(fact_115_ord__eq__less__subst,axiom,
    ! [A: set_nat,F: nat > set_nat,B2: nat,C: nat] :
      ( ( A
        = ( F @ B2 ) )
     => ( ( ord_less_nat @ B2 @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_116_ord__eq__less__subst,axiom,
    ! [A: nat > $o,F: nat > nat > $o,B2: nat,C: nat] :
      ( ( A
        = ( F @ B2 ) )
     => ( ( ord_less_nat @ B2 @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat_o @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_117_ord__eq__less__subst,axiom,
    ! [A: nat,F: set_nat > nat,B2: set_nat,C: set_nat] :
      ( ( A
        = ( F @ B2 ) )
     => ( ( ord_less_set_nat @ B2 @ C )
       => ( ! [X: set_nat,Y4: set_nat] :
              ( ( ord_less_set_nat @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_118_ord__eq__less__subst,axiom,
    ! [A: set_nat,F: set_nat > set_nat,B2: set_nat,C: set_nat] :
      ( ( A
        = ( F @ B2 ) )
     => ( ( ord_less_set_nat @ B2 @ C )
       => ( ! [X: set_nat,Y4: set_nat] :
              ( ( ord_less_set_nat @ X @ Y4 )
             => ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_119_ord__eq__less__subst,axiom,
    ! [A: nat > $o,F: set_nat > nat > $o,B2: set_nat,C: set_nat] :
      ( ( A
        = ( F @ B2 ) )
     => ( ( ord_less_set_nat @ B2 @ C )
       => ( ! [X: set_nat,Y4: set_nat] :
              ( ( ord_less_set_nat @ X @ Y4 )
             => ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat_o @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_120_ord__eq__less__subst,axiom,
    ! [A: nat,F: ( nat > $o ) > nat,B2: nat > $o,C: nat > $o] :
      ( ( A
        = ( F @ B2 ) )
     => ( ( ord_less_nat_o @ B2 @ C )
       => ( ! [X: nat > $o,Y4: nat > $o] :
              ( ( ord_less_nat_o @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_121_ord__eq__less__subst,axiom,
    ! [A: set_nat,F: ( nat > $o ) > set_nat,B2: nat > $o,C: nat > $o] :
      ( ( A
        = ( F @ B2 ) )
     => ( ( ord_less_nat_o @ B2 @ C )
       => ( ! [X: nat > $o,Y4: nat > $o] :
              ( ( ord_less_nat_o @ X @ Y4 )
             => ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_122_ord__eq__less__subst,axiom,
    ! [A: nat > $o,F: ( nat > $o ) > nat > $o,B2: nat > $o,C: nat > $o] :
      ( ( A
        = ( F @ B2 ) )
     => ( ( ord_less_nat_o @ B2 @ C )
       => ( ! [X: nat > $o,Y4: nat > $o] :
              ( ( ord_less_nat_o @ X @ Y4 )
             => ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat_o @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_123_ord__eq__less__subst,axiom,
    ! [A: nat,F: nat > nat,B2: nat,C: nat] :
      ( ( A
        = ( F @ B2 ) )
     => ( ( ord_less_nat @ B2 @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_124_ord__less__eq__subst,axiom,
    ! [A: nat,B2: nat,F: nat > set_nat,C: set_nat] :
      ( ( ord_less_nat @ A @ B2 )
     => ( ( ( F @ B2 )
          = C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_125_ord__less__eq__subst,axiom,
    ! [A: nat,B2: nat,F: nat > nat > $o,C: nat > $o] :
      ( ( ord_less_nat @ A @ B2 )
     => ( ( ( F @ B2 )
          = C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat_o @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_126_ord__less__eq__subst,axiom,
    ! [A: set_nat,B2: set_nat,F: set_nat > nat,C: nat] :
      ( ( ord_less_set_nat @ A @ B2 )
     => ( ( ( F @ B2 )
          = C )
       => ( ! [X: set_nat,Y4: set_nat] :
              ( ( ord_less_set_nat @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_127_ord__less__eq__subst,axiom,
    ! [A: set_nat,B2: set_nat,F: set_nat > set_nat,C: set_nat] :
      ( ( ord_less_set_nat @ A @ B2 )
     => ( ( ( F @ B2 )
          = C )
       => ( ! [X: set_nat,Y4: set_nat] :
              ( ( ord_less_set_nat @ X @ Y4 )
             => ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_128_ord__less__eq__subst,axiom,
    ! [A: set_nat,B2: set_nat,F: set_nat > nat > $o,C: nat > $o] :
      ( ( ord_less_set_nat @ A @ B2 )
     => ( ( ( F @ B2 )
          = C )
       => ( ! [X: set_nat,Y4: set_nat] :
              ( ( ord_less_set_nat @ X @ Y4 )
             => ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat_o @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_129_ord__less__eq__subst,axiom,
    ! [A: nat > $o,B2: nat > $o,F: ( nat > $o ) > nat,C: nat] :
      ( ( ord_less_nat_o @ A @ B2 )
     => ( ( ( F @ B2 )
          = C )
       => ( ! [X: nat > $o,Y4: nat > $o] :
              ( ( ord_less_nat_o @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_130_ord__less__eq__subst,axiom,
    ! [A: nat > $o,B2: nat > $o,F: ( nat > $o ) > set_nat,C: set_nat] :
      ( ( ord_less_nat_o @ A @ B2 )
     => ( ( ( F @ B2 )
          = C )
       => ( ! [X: nat > $o,Y4: nat > $o] :
              ( ( ord_less_nat_o @ X @ Y4 )
             => ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_131_ord__less__eq__subst,axiom,
    ! [A: nat > $o,B2: nat > $o,F: ( nat > $o ) > nat > $o,C: nat > $o] :
      ( ( ord_less_nat_o @ A @ B2 )
     => ( ( ( F @ B2 )
          = C )
       => ( ! [X: nat > $o,Y4: nat > $o] :
              ( ( ord_less_nat_o @ X @ Y4 )
             => ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat_o @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_132_ord__less__eq__subst,axiom,
    ! [A: nat,B2: nat,F: nat > nat,C: nat] :
      ( ( ord_less_nat @ A @ B2 )
     => ( ( ( F @ B2 )
          = C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_133_order__less__subst1,axiom,
    ! [A: nat,F: set_nat > nat,B2: set_nat,C: set_nat] :
      ( ( ord_less_nat @ A @ ( F @ B2 ) )
     => ( ( ord_less_set_nat @ B2 @ C )
       => ( ! [X: set_nat,Y4: set_nat] :
              ( ( ord_less_set_nat @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_134_order__less__subst1,axiom,
    ! [A: nat,F: ( nat > $o ) > nat,B2: nat > $o,C: nat > $o] :
      ( ( ord_less_nat @ A @ ( F @ B2 ) )
     => ( ( ord_less_nat_o @ B2 @ C )
       => ( ! [X: nat > $o,Y4: nat > $o] :
              ( ( ord_less_nat_o @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_135_order__less__subst1,axiom,
    ! [A: set_nat,F: nat > set_nat,B2: nat,C: nat] :
      ( ( ord_less_set_nat @ A @ ( F @ B2 ) )
     => ( ( ord_less_nat @ B2 @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_136_order__less__subst1,axiom,
    ! [A: set_nat,F: set_nat > set_nat,B2: set_nat,C: set_nat] :
      ( ( ord_less_set_nat @ A @ ( F @ B2 ) )
     => ( ( ord_less_set_nat @ B2 @ C )
       => ( ! [X: set_nat,Y4: set_nat] :
              ( ( ord_less_set_nat @ X @ Y4 )
             => ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_137_order__less__subst1,axiom,
    ! [A: set_nat,F: ( nat > $o ) > set_nat,B2: nat > $o,C: nat > $o] :
      ( ( ord_less_set_nat @ A @ ( F @ B2 ) )
     => ( ( ord_less_nat_o @ B2 @ C )
       => ( ! [X: nat > $o,Y4: nat > $o] :
              ( ( ord_less_nat_o @ X @ Y4 )
             => ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_138_order__less__subst1,axiom,
    ! [A: nat > $o,F: nat > nat > $o,B2: nat,C: nat] :
      ( ( ord_less_nat_o @ A @ ( F @ B2 ) )
     => ( ( ord_less_nat @ B2 @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat_o @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_139_order__less__subst1,axiom,
    ! [A: nat > $o,F: set_nat > nat > $o,B2: set_nat,C: set_nat] :
      ( ( ord_less_nat_o @ A @ ( F @ B2 ) )
     => ( ( ord_less_set_nat @ B2 @ C )
       => ( ! [X: set_nat,Y4: set_nat] :
              ( ( ord_less_set_nat @ X @ Y4 )
             => ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat_o @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_140_order__less__subst1,axiom,
    ! [A: nat > $o,F: ( nat > $o ) > nat > $o,B2: nat > $o,C: nat > $o] :
      ( ( ord_less_nat_o @ A @ ( F @ B2 ) )
     => ( ( ord_less_nat_o @ B2 @ C )
       => ( ! [X: nat > $o,Y4: nat > $o] :
              ( ( ord_less_nat_o @ X @ Y4 )
             => ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat_o @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_141_order__less__subst1,axiom,
    ! [A: nat,F: nat > nat,B2: nat,C: nat] :
      ( ( ord_less_nat @ A @ ( F @ B2 ) )
     => ( ( ord_less_nat @ B2 @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_142_order__less__subst2,axiom,
    ! [A: nat,B2: nat,F: nat > set_nat,C: set_nat] :
      ( ( ord_less_nat @ A @ B2 )
     => ( ( ord_less_set_nat @ ( F @ B2 ) @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_143_order__less__subst2,axiom,
    ! [A: nat,B2: nat,F: nat > nat > $o,C: nat > $o] :
      ( ( ord_less_nat @ A @ B2 )
     => ( ( ord_less_nat_o @ ( F @ B2 ) @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat_o @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_144_order__less__subst2,axiom,
    ! [A: set_nat,B2: set_nat,F: set_nat > nat,C: nat] :
      ( ( ord_less_set_nat @ A @ B2 )
     => ( ( ord_less_nat @ ( F @ B2 ) @ C )
       => ( ! [X: set_nat,Y4: set_nat] :
              ( ( ord_less_set_nat @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_145_order__less__subst2,axiom,
    ! [A: set_nat,B2: set_nat,F: set_nat > set_nat,C: set_nat] :
      ( ( ord_less_set_nat @ A @ B2 )
     => ( ( ord_less_set_nat @ ( F @ B2 ) @ C )
       => ( ! [X: set_nat,Y4: set_nat] :
              ( ( ord_less_set_nat @ X @ Y4 )
             => ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_146_order__less__subst2,axiom,
    ! [A: set_nat,B2: set_nat,F: set_nat > nat > $o,C: nat > $o] :
      ( ( ord_less_set_nat @ A @ B2 )
     => ( ( ord_less_nat_o @ ( F @ B2 ) @ C )
       => ( ! [X: set_nat,Y4: set_nat] :
              ( ( ord_less_set_nat @ X @ Y4 )
             => ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat_o @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_147_order__less__subst2,axiom,
    ! [A: nat > $o,B2: nat > $o,F: ( nat > $o ) > nat,C: nat] :
      ( ( ord_less_nat_o @ A @ B2 )
     => ( ( ord_less_nat @ ( F @ B2 ) @ C )
       => ( ! [X: nat > $o,Y4: nat > $o] :
              ( ( ord_less_nat_o @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_148_order__less__subst2,axiom,
    ! [A: nat > $o,B2: nat > $o,F: ( nat > $o ) > set_nat,C: set_nat] :
      ( ( ord_less_nat_o @ A @ B2 )
     => ( ( ord_less_set_nat @ ( F @ B2 ) @ C )
       => ( ! [X: nat > $o,Y4: nat > $o] :
              ( ( ord_less_nat_o @ X @ Y4 )
             => ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_149_order__less__subst2,axiom,
    ! [A: nat > $o,B2: nat > $o,F: ( nat > $o ) > nat > $o,C: nat > $o] :
      ( ( ord_less_nat_o @ A @ B2 )
     => ( ( ord_less_nat_o @ ( F @ B2 ) @ C )
       => ( ! [X: nat > $o,Y4: nat > $o] :
              ( ( ord_less_nat_o @ X @ Y4 )
             => ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat_o @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_150_order__less__subst2,axiom,
    ! [A: nat,B2: nat,F: nat > nat,C: nat] :
      ( ( ord_less_nat @ A @ B2 )
     => ( ( ord_less_nat @ ( F @ B2 ) @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_151_gt__ex,axiom,
    ! [X3: nat] :
    ? [X_1: nat] : ( ord_less_nat @ X3 @ X_1 ) ).

% gt_ex
thf(fact_152_neqE,axiom,
    ! [X3: nat,Y: nat] :
      ( ( X3 != Y )
     => ( ~ ( ord_less_nat @ X3 @ Y )
       => ( ord_less_nat @ Y @ X3 ) ) ) ).

% neqE
thf(fact_153_neq__iff,axiom,
    ! [X3: nat,Y: nat] :
      ( ( X3 != Y )
      = ( ( ord_less_nat @ X3 @ Y )
        | ( ord_less_nat @ Y @ X3 ) ) ) ).

% neq_iff
thf(fact_154_order_Oasym,axiom,
    ! [A: set_nat,B2: set_nat] :
      ( ( ord_less_set_nat @ A @ B2 )
     => ~ ( ord_less_set_nat @ B2 @ A ) ) ).

% order.asym
thf(fact_155_order_Oasym,axiom,
    ! [A: nat > $o,B2: nat > $o] :
      ( ( ord_less_nat_o @ A @ B2 )
     => ~ ( ord_less_nat_o @ B2 @ A ) ) ).

% order.asym
thf(fact_156_order_Oasym,axiom,
    ! [A: nat,B2: nat] :
      ( ( ord_less_nat @ A @ B2 )
     => ~ ( ord_less_nat @ B2 @ A ) ) ).

% order.asym
thf(fact_157_less__imp__neq,axiom,
    ! [X3: set_nat,Y: set_nat] :
      ( ( ord_less_set_nat @ X3 @ Y )
     => ( X3 != Y ) ) ).

% less_imp_neq
thf(fact_158_less__imp__neq,axiom,
    ! [X3: nat > $o,Y: nat > $o] :
      ( ( ord_less_nat_o @ X3 @ Y )
     => ( X3 != Y ) ) ).

% less_imp_neq
thf(fact_159_less__imp__neq,axiom,
    ! [X3: nat,Y: nat] :
      ( ( ord_less_nat @ X3 @ Y )
     => ( X3 != Y ) ) ).

% less_imp_neq
thf(fact_160_less__asym,axiom,
    ! [X3: set_nat,Y: set_nat] :
      ( ( ord_less_set_nat @ X3 @ Y )
     => ~ ( ord_less_set_nat @ Y @ X3 ) ) ).

% less_asym
thf(fact_161_less__asym,axiom,
    ! [X3: nat > $o,Y: nat > $o] :
      ( ( ord_less_nat_o @ X3 @ Y )
     => ~ ( ord_less_nat_o @ Y @ X3 ) ) ).

% less_asym
thf(fact_162_less__asym,axiom,
    ! [X3: nat,Y: nat] :
      ( ( ord_less_nat @ X3 @ Y )
     => ~ ( ord_less_nat @ Y @ X3 ) ) ).

% less_asym
thf(fact_163_less__asym_H,axiom,
    ! [A: set_nat,B2: set_nat] :
      ( ( ord_less_set_nat @ A @ B2 )
     => ~ ( ord_less_set_nat @ B2 @ A ) ) ).

% less_asym'
thf(fact_164_less__asym_H,axiom,
    ! [A: nat > $o,B2: nat > $o] :
      ( ( ord_less_nat_o @ A @ B2 )
     => ~ ( ord_less_nat_o @ B2 @ A ) ) ).

% less_asym'
thf(fact_165_less__asym_H,axiom,
    ! [A: nat,B2: nat] :
      ( ( ord_less_nat @ A @ B2 )
     => ~ ( ord_less_nat @ B2 @ A ) ) ).

% less_asym'
thf(fact_166_less__trans,axiom,
    ! [X3: set_nat,Y: set_nat,Z2: set_nat] :
      ( ( ord_less_set_nat @ X3 @ Y )
     => ( ( ord_less_set_nat @ Y @ Z2 )
       => ( ord_less_set_nat @ X3 @ Z2 ) ) ) ).

% less_trans
thf(fact_167_less__trans,axiom,
    ! [X3: nat > $o,Y: nat > $o,Z2: nat > $o] :
      ( ( ord_less_nat_o @ X3 @ Y )
     => ( ( ord_less_nat_o @ Y @ Z2 )
       => ( ord_less_nat_o @ X3 @ Z2 ) ) ) ).

% less_trans
thf(fact_168_less__trans,axiom,
    ! [X3: nat,Y: nat,Z2: nat] :
      ( ( ord_less_nat @ X3 @ Y )
     => ( ( ord_less_nat @ Y @ Z2 )
       => ( ord_less_nat @ X3 @ Z2 ) ) ) ).

% less_trans
thf(fact_169_less__linear,axiom,
    ! [X3: nat,Y: nat] :
      ( ( ord_less_nat @ X3 @ Y )
      | ( X3 = Y )
      | ( ord_less_nat @ Y @ X3 ) ) ).

% less_linear
thf(fact_170_less__irrefl,axiom,
    ! [X3: set_nat] :
      ~ ( ord_less_set_nat @ X3 @ X3 ) ).

% less_irrefl
thf(fact_171_less__irrefl,axiom,
    ! [X3: nat > $o] :
      ~ ( ord_less_nat_o @ X3 @ X3 ) ).

% less_irrefl
thf(fact_172_less__irrefl,axiom,
    ! [X3: nat] :
      ~ ( ord_less_nat @ X3 @ X3 ) ).

% less_irrefl
thf(fact_173_ord__eq__less__trans,axiom,
    ! [A: set_nat,B2: set_nat,C: set_nat] :
      ( ( A = B2 )
     => ( ( ord_less_set_nat @ B2 @ C )
       => ( ord_less_set_nat @ A @ C ) ) ) ).

% ord_eq_less_trans
thf(fact_174_ord__eq__less__trans,axiom,
    ! [A: nat > $o,B2: nat > $o,C: nat > $o] :
      ( ( A = B2 )
     => ( ( ord_less_nat_o @ B2 @ C )
       => ( ord_less_nat_o @ A @ C ) ) ) ).

% ord_eq_less_trans
thf(fact_175_ord__eq__less__trans,axiom,
    ! [A: nat,B2: nat,C: nat] :
      ( ( A = B2 )
     => ( ( ord_less_nat @ B2 @ C )
       => ( ord_less_nat @ A @ C ) ) ) ).

% ord_eq_less_trans
thf(fact_176_ord__less__eq__trans,axiom,
    ! [A: set_nat,B2: set_nat,C: set_nat] :
      ( ( ord_less_set_nat @ A @ B2 )
     => ( ( B2 = C )
       => ( ord_less_set_nat @ A @ C ) ) ) ).

% ord_less_eq_trans
thf(fact_177_ord__less__eq__trans,axiom,
    ! [A: nat > $o,B2: nat > $o,C: nat > $o] :
      ( ( ord_less_nat_o @ A @ B2 )
     => ( ( B2 = C )
       => ( ord_less_nat_o @ A @ C ) ) ) ).

% ord_less_eq_trans
thf(fact_178_ord__less__eq__trans,axiom,
    ! [A: nat,B2: nat,C: nat] :
      ( ( ord_less_nat @ A @ B2 )
     => ( ( B2 = C )
       => ( ord_less_nat @ A @ C ) ) ) ).

% ord_less_eq_trans
thf(fact_179_dual__order_Oasym,axiom,
    ! [B2: set_nat,A: set_nat] :
      ( ( ord_less_set_nat @ B2 @ A )
     => ~ ( ord_less_set_nat @ A @ B2 ) ) ).

% dual_order.asym
thf(fact_180_dual__order_Oasym,axiom,
    ! [B2: nat > $o,A: nat > $o] :
      ( ( ord_less_nat_o @ B2 @ A )
     => ~ ( ord_less_nat_o @ A @ B2 ) ) ).

% dual_order.asym
thf(fact_181_dual__order_Oasym,axiom,
    ! [B2: nat,A: nat] :
      ( ( ord_less_nat @ B2 @ A )
     => ~ ( ord_less_nat @ A @ B2 ) ) ).

% dual_order.asym
thf(fact_182_less__imp__not__eq,axiom,
    ! [X3: set_nat,Y: set_nat] :
      ( ( ord_less_set_nat @ X3 @ Y )
     => ( X3 != Y ) ) ).

% less_imp_not_eq
thf(fact_183_less__imp__not__eq,axiom,
    ! [X3: nat > $o,Y: nat > $o] :
      ( ( ord_less_nat_o @ X3 @ Y )
     => ( X3 != Y ) ) ).

% less_imp_not_eq
thf(fact_184_less__imp__not__eq,axiom,
    ! [X3: nat,Y: nat] :
      ( ( ord_less_nat @ X3 @ Y )
     => ( X3 != Y ) ) ).

% less_imp_not_eq
thf(fact_185_less__not__sym,axiom,
    ! [X3: set_nat,Y: set_nat] :
      ( ( ord_less_set_nat @ X3 @ Y )
     => ~ ( ord_less_set_nat @ Y @ X3 ) ) ).

% less_not_sym
thf(fact_186_less__not__sym,axiom,
    ! [X3: nat > $o,Y: nat > $o] :
      ( ( ord_less_nat_o @ X3 @ Y )
     => ~ ( ord_less_nat_o @ Y @ X3 ) ) ).

% less_not_sym
thf(fact_187_less__not__sym,axiom,
    ! [X3: nat,Y: nat] :
      ( ( ord_less_nat @ X3 @ Y )
     => ~ ( ord_less_nat @ Y @ X3 ) ) ).

% less_not_sym
thf(fact_188_less__induct,axiom,
    ! [P: nat > $o,A: nat] :
      ( ! [X: nat] :
          ( ! [Y5: nat] :
              ( ( ord_less_nat @ Y5 @ X )
             => ( P @ Y5 ) )
         => ( P @ X ) )
     => ( P @ A ) ) ).

% less_induct
thf(fact_189_antisym__conv3,axiom,
    ! [Y: nat,X3: nat] :
      ( ~ ( ord_less_nat @ Y @ X3 )
     => ( ( ~ ( ord_less_nat @ X3 @ Y ) )
        = ( X3 = Y ) ) ) ).

% antisym_conv3
thf(fact_190_less__imp__not__eq2,axiom,
    ! [X3: set_nat,Y: set_nat] :
      ( ( ord_less_set_nat @ X3 @ Y )
     => ( Y != X3 ) ) ).

% less_imp_not_eq2
thf(fact_191_less__imp__not__eq2,axiom,
    ! [X3: nat > $o,Y: nat > $o] :
      ( ( ord_less_nat_o @ X3 @ Y )
     => ( Y != X3 ) ) ).

% less_imp_not_eq2
thf(fact_192_less__imp__not__eq2,axiom,
    ! [X3: nat,Y: nat] :
      ( ( ord_less_nat @ X3 @ Y )
     => ( Y != X3 ) ) ).

% less_imp_not_eq2
thf(fact_193_less__imp__triv,axiom,
    ! [X3: set_nat,Y: set_nat,P: $o] :
      ( ( ord_less_set_nat @ X3 @ Y )
     => ( ( ord_less_set_nat @ Y @ X3 )
       => P ) ) ).

% less_imp_triv
thf(fact_194_less__imp__triv,axiom,
    ! [X3: nat > $o,Y: nat > $o,P: $o] :
      ( ( ord_less_nat_o @ X3 @ Y )
     => ( ( ord_less_nat_o @ Y @ X3 )
       => P ) ) ).

% less_imp_triv
thf(fact_195_less__imp__triv,axiom,
    ! [X3: nat,Y: nat,P: $o] :
      ( ( ord_less_nat @ X3 @ Y )
     => ( ( ord_less_nat @ Y @ X3 )
       => P ) ) ).

% less_imp_triv
thf(fact_196_linorder__cases,axiom,
    ! [X3: nat,Y: nat] :
      ( ~ ( ord_less_nat @ X3 @ Y )
     => ( ( X3 != Y )
       => ( ord_less_nat @ Y @ X3 ) ) ) ).

% linorder_cases
thf(fact_197_dual__order_Oirrefl,axiom,
    ! [A: set_nat] :
      ~ ( ord_less_set_nat @ A @ A ) ).

% dual_order.irrefl
thf(fact_198_dual__order_Oirrefl,axiom,
    ! [A: nat > $o] :
      ~ ( ord_less_nat_o @ A @ A ) ).

% dual_order.irrefl
thf(fact_199_dual__order_Oirrefl,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ A ) ).

% dual_order.irrefl
thf(fact_200_order_Ostrict__trans,axiom,
    ! [A: set_nat,B2: set_nat,C: set_nat] :
      ( ( ord_less_set_nat @ A @ B2 )
     => ( ( ord_less_set_nat @ B2 @ C )
       => ( ord_less_set_nat @ A @ C ) ) ) ).

% order.strict_trans
thf(fact_201_order_Ostrict__trans,axiom,
    ! [A: nat > $o,B2: nat > $o,C: nat > $o] :
      ( ( ord_less_nat_o @ A @ B2 )
     => ( ( ord_less_nat_o @ B2 @ C )
       => ( ord_less_nat_o @ A @ C ) ) ) ).

% order.strict_trans
thf(fact_202_order_Ostrict__trans,axiom,
    ! [A: nat,B2: nat,C: nat] :
      ( ( ord_less_nat @ A @ B2 )
     => ( ( ord_less_nat @ B2 @ C )
       => ( ord_less_nat @ A @ C ) ) ) ).

% order.strict_trans
thf(fact_203_less__imp__not__less,axiom,
    ! [X3: set_nat,Y: set_nat] :
      ( ( ord_less_set_nat @ X3 @ Y )
     => ~ ( ord_less_set_nat @ Y @ X3 ) ) ).

% less_imp_not_less
thf(fact_204_less__imp__not__less,axiom,
    ! [X3: nat > $o,Y: nat > $o] :
      ( ( ord_less_nat_o @ X3 @ Y )
     => ~ ( ord_less_nat_o @ Y @ X3 ) ) ).

% less_imp_not_less
thf(fact_205_less__imp__not__less,axiom,
    ! [X3: nat,Y: nat] :
      ( ( ord_less_nat @ X3 @ Y )
     => ~ ( ord_less_nat @ Y @ X3 ) ) ).

% less_imp_not_less
thf(fact_206_exists__least__iff,axiom,
    ( ( ^ [P2: nat > $o] :
        ? [X5: nat] : ( P2 @ X5 ) )
    = ( ^ [P3: nat > $o] :
        ? [N3: nat] :
          ( ( P3 @ N3 )
          & ! [M2: nat] :
              ( ( ord_less_nat @ M2 @ N3 )
             => ~ ( P3 @ M2 ) ) ) ) ) ).

% exists_least_iff
thf(fact_207_linorder__less__wlog,axiom,
    ! [P: nat > nat > $o,A: nat,B2: nat] :
      ( ! [A5: nat,B5: nat] :
          ( ( ord_less_nat @ A5 @ B5 )
         => ( P @ A5 @ B5 ) )
     => ( ! [A5: nat] : ( P @ A5 @ A5 )
       => ( ! [A5: nat,B5: nat] :
              ( ( P @ B5 @ A5 )
             => ( P @ A5 @ B5 ) )
         => ( P @ A @ B2 ) ) ) ) ).

% linorder_less_wlog
thf(fact_208_dual__order_Ostrict__trans,axiom,
    ! [B2: set_nat,A: set_nat,C: set_nat] :
      ( ( ord_less_set_nat @ B2 @ A )
     => ( ( ord_less_set_nat @ C @ B2 )
       => ( ord_less_set_nat @ C @ A ) ) ) ).

% dual_order.strict_trans
thf(fact_209_dual__order_Ostrict__trans,axiom,
    ! [B2: nat > $o,A: nat > $o,C: nat > $o] :
      ( ( ord_less_nat_o @ B2 @ A )
     => ( ( ord_less_nat_o @ C @ B2 )
       => ( ord_less_nat_o @ C @ A ) ) ) ).

% dual_order.strict_trans
thf(fact_210_dual__order_Ostrict__trans,axiom,
    ! [B2: nat,A: nat,C: nat] :
      ( ( ord_less_nat @ B2 @ A )
     => ( ( ord_less_nat @ C @ B2 )
       => ( ord_less_nat @ C @ A ) ) ) ).

% dual_order.strict_trans
thf(fact_211_not__less__iff__gr__or__eq,axiom,
    ! [X3: nat,Y: nat] :
      ( ( ~ ( ord_less_nat @ X3 @ Y ) )
      = ( ( ord_less_nat @ Y @ X3 )
        | ( X3 = Y ) ) ) ).

% not_less_iff_gr_or_eq
thf(fact_212_order_Ostrict__implies__not__eq,axiom,
    ! [A: set_nat,B2: set_nat] :
      ( ( ord_less_set_nat @ A @ B2 )
     => ( A != B2 ) ) ).

% order.strict_implies_not_eq
thf(fact_213_order_Ostrict__implies__not__eq,axiom,
    ! [A: nat > $o,B2: nat > $o] :
      ( ( ord_less_nat_o @ A @ B2 )
     => ( A != B2 ) ) ).

% order.strict_implies_not_eq
thf(fact_214_order_Ostrict__implies__not__eq,axiom,
    ! [A: nat,B2: nat] :
      ( ( ord_less_nat @ A @ B2 )
     => ( A != B2 ) ) ).

% order.strict_implies_not_eq
thf(fact_215_dual__order_Ostrict__implies__not__eq,axiom,
    ! [B2: set_nat,A: set_nat] :
      ( ( ord_less_set_nat @ B2 @ A )
     => ( A != B2 ) ) ).

% dual_order.strict_implies_not_eq
thf(fact_216_dual__order_Ostrict__implies__not__eq,axiom,
    ! [B2: nat > $o,A: nat > $o] :
      ( ( ord_less_nat_o @ B2 @ A )
     => ( A != B2 ) ) ).

% dual_order.strict_implies_not_eq
thf(fact_217_dual__order_Ostrict__implies__not__eq,axiom,
    ! [B2: nat,A: nat] :
      ( ( ord_less_nat @ B2 @ A )
     => ( A != B2 ) ) ).

% dual_order.strict_implies_not_eq
thf(fact_218_bot__fun__def,axiom,
    ( bot_bot_nat_o
    = ( ^ [X4: nat] : bot_bot_o ) ) ).

% bot_fun_def
thf(fact_219_mk__scheme_Osimps_I1_J,axiom,
    ! [N2: nat] :
      ( ( type_M1006385707scheme @ ( type_Mirabelle_TVar @ N2 ) )
      = ( type_M876316792e_FVar @ N2 ) ) ).

% mk_scheme.simps(1)
thf(fact_220_is__singletonE,axiom,
    ! [A2: set_nat] :
      ( ( is_singleton_nat @ A2 )
     => ~ ! [X: nat] :
            ( A2
           != ( insert_nat @ X @ bot_bot_set_nat ) ) ) ).

% is_singletonE
thf(fact_221_is__singleton__def,axiom,
    ( is_singleton_nat
    = ( ^ [A4: set_nat] :
        ? [X4: nat] :
          ( A4
          = ( insert_nat @ X4 @ bot_bot_set_nat ) ) ) ) ).

% is_singleton_def
thf(fact_222_free__tv__id__subst,axiom,
    ( ( type_M1715972684le_typ @ type_M405566558_subst )
    = bot_bot_set_nat ) ).

% free_tv_id_subst
thf(fact_223_Set_Ois__empty__def,axiom,
    ( is_empty_nat
    = ( ^ [A4: set_nat] : A4 = bot_bot_set_nat ) ) ).

% Set.is_empty_def
thf(fact_224_the__elem__def,axiom,
    ( the_elem_nat
    = ( ^ [X6: set_nat] :
          ( the_nat
          @ ^ [X4: nat] :
              ( X6
              = ( insert_nat @ X4 @ bot_bot_set_nat ) ) ) ) ) ).

% the_elem_def
thf(fact_225_mk__scheme_Osimps_I2_J,axiom,
    ! [T1: type_Mirabelle_typ,T2: type_Mirabelle_typ] :
      ( ( type_M1006385707scheme @ ( type_Mirabelle_Fun @ T1 @ T2 ) )
      = ( type_M155660035e_SFun @ ( type_M1006385707scheme @ T1 ) @ ( type_M1006385707scheme @ T2 ) ) ) ).

% mk_scheme.simps(2)
thf(fact_226_Type__Mirabelle__lczmhmumaa_Odom__def,axiom,
    ( type_Mirabelle_dom
    = ( ^ [S4: nat > type_Mirabelle_typ] :
          ( collect_nat
          @ ^ [N3: nat] :
              ( ( S4 @ N3 )
             != ( type_Mirabelle_TVar @ N3 ) ) ) ) ) ).

% Type_Mirabelle_lczmhmumaa.dom_def
thf(fact_227_id__subst__def,axiom,
    type_M405566558_subst = type_Mirabelle_TVar ).

% id_subst_def
thf(fact_228_typ_Oinject_I2_J,axiom,
    ! [X21: type_Mirabelle_typ,X222: type_Mirabelle_typ,Y21: type_Mirabelle_typ,Y22: type_Mirabelle_typ] :
      ( ( ( type_Mirabelle_Fun @ X21 @ X222 )
        = ( type_Mirabelle_Fun @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X222 = Y22 ) ) ) ).

% typ.inject(2)
thf(fact_229_new__tv__Fun,axiom,
    ! [N2: nat,T1: type_Mirabelle_typ,T2: type_Mirabelle_typ] :
      ( ( type_M1211611096le_typ @ N2 @ ( type_Mirabelle_Fun @ T1 @ T2 ) )
      = ( ( type_M1211611096le_typ @ N2 @ T1 )
        & ( type_M1211611096le_typ @ N2 @ T2 ) ) ) ).

% new_tv_Fun
thf(fact_230_dom__id__subst,axiom,
    ( ( type_Mirabelle_dom @ type_M405566558_subst )
    = bot_bot_set_nat ) ).

% dom_id_subst
thf(fact_231_psubsetD,axiom,
    ! [A2: set_nat,B: set_nat,C: nat] :
      ( ( ord_less_set_nat @ A2 @ B )
     => ( ( member_nat @ C @ A2 )
       => ( member_nat @ C @ B ) ) ) ).

% psubsetD
thf(fact_232_less__set__def,axiom,
    ( ord_less_set_nat
    = ( ^ [A4: set_nat,B4: set_nat] :
          ( ord_less_nat_o
          @ ^ [X4: nat] : ( member_nat @ X4 @ A4 )
          @ ^ [X4: nat] : ( member_nat @ X4 @ B4 ) ) ) ) ).

% less_set_def
thf(fact_233_psubset__trans,axiom,
    ! [A2: set_nat,B: set_nat,C3: set_nat] :
      ( ( ord_less_set_nat @ A2 @ B )
     => ( ( ord_less_set_nat @ B @ C3 )
       => ( ord_less_set_nat @ A2 @ C3 ) ) ) ).

% psubset_trans
thf(fact_234_new__tv__id__subst,axiom,
    ! [N2: nat] : ( type_M1734147655le_typ @ N2 @ type_M405566558_subst ) ).

% new_tv_id_subst
thf(fact_235_app__subst__Fun,axiom,
    ! [S: nat > type_Mirabelle_typ,T1: type_Mirabelle_typ,T2: type_Mirabelle_typ] :
      ( ( type_M784671311le_typ @ S @ ( type_Mirabelle_Fun @ T1 @ T2 ) )
      = ( type_Mirabelle_Fun @ ( type_M784671311le_typ @ S @ T1 ) @ ( type_M784671311le_typ @ S @ T2 ) ) ) ).

% app_subst_Fun
thf(fact_236_typ_Oexhaust,axiom,
    ! [Y: type_Mirabelle_typ] :
      ( ! [X12: nat] :
          ( Y
         != ( type_Mirabelle_TVar @ X12 ) )
     => ~ ! [X212: type_Mirabelle_typ,X223: type_Mirabelle_typ] :
            ( Y
           != ( type_Mirabelle_Fun @ X212 @ X223 ) ) ) ).

% typ.exhaust
thf(fact_237_typ_Oinduct,axiom,
    ! [P: type_Mirabelle_typ > $o,Typ: type_Mirabelle_typ] :
      ( ! [X: nat] : ( P @ ( type_Mirabelle_TVar @ X ) )
     => ( ! [X1a: type_Mirabelle_typ,X22: type_Mirabelle_typ] :
            ( ( P @ X1a )
           => ( ( P @ X22 )
             => ( P @ ( type_Mirabelle_Fun @ X1a @ X22 ) ) ) )
       => ( P @ Typ ) ) ) ).

% typ.induct
thf(fact_238_typ_Odistinct_I1_J,axiom,
    ! [X1: nat,X21: type_Mirabelle_typ,X222: type_Mirabelle_typ] :
      ( ( type_Mirabelle_TVar @ X1 )
     != ( type_Mirabelle_Fun @ X21 @ X222 ) ) ).

% typ.distinct(1)
thf(fact_239_the__sym__eq__trivial,axiom,
    ! [X3: nat] :
      ( ( the_nat
        @ ( ^ [Y3: nat,Z: nat] : Y3 = Z
          @ X3 ) )
      = X3 ) ).

% the_sym_eq_trivial
thf(fact_240_the__eq__trivial,axiom,
    ! [A: nat] :
      ( ( the_nat
        @ ^ [X4: nat] : X4 = A )
      = A ) ).

% the_eq_trivial
thf(fact_241_the__equality,axiom,
    ! [P: nat > $o,A: nat] :
      ( ( P @ A )
     => ( ! [X: nat] :
            ( ( P @ X )
           => ( X = A ) )
       => ( ( the_nat @ P )
          = A ) ) ) ).

% the_equality
thf(fact_242_cod__id__subst,axiom,
    ( ( type_Mirabelle_cod @ type_M405566558_subst )
    = bot_bot_set_nat ) ).

% cod_id_subst
thf(fact_243_theI,axiom,
    ! [P: nat > $o,A: nat] :
      ( ( P @ A )
     => ( ! [X: nat] :
            ( ( P @ X )
           => ( X = A ) )
       => ( P @ ( the_nat @ P ) ) ) ) ).

% theI
thf(fact_244_theI_H,axiom,
    ! [P: nat > $o] :
      ( ? [X7: nat] :
          ( ( P @ X7 )
          & ! [Y4: nat] :
              ( ( P @ Y4 )
             => ( Y4 = X7 ) ) )
     => ( P @ ( the_nat @ P ) ) ) ).

% theI'
thf(fact_245_theI2,axiom,
    ! [P: nat > $o,A: nat,Q: nat > $o] :
      ( ( P @ A )
     => ( ! [X: nat] :
            ( ( P @ X )
           => ( X = A ) )
       => ( ! [X: nat] :
              ( ( P @ X )
             => ( Q @ X ) )
         => ( Q @ ( the_nat @ P ) ) ) ) ) ).

% theI2
thf(fact_246_If__def,axiom,
    ( if_nat
    = ( ^ [P3: $o,X4: nat,Y6: nat] :
          ( the_nat
          @ ^ [Z3: nat] :
              ( ( P3
               => ( Z3 = X4 ) )
              & ( ~ P3
               => ( Z3 = Y6 ) ) ) ) ) ) ).

% If_def
thf(fact_247_the1I2,axiom,
    ! [P: nat > $o,Q: nat > $o] :
      ( ? [X7: nat] :
          ( ( P @ X7 )
          & ! [Y4: nat] :
              ( ( P @ Y4 )
             => ( Y4 = X7 ) ) )
     => ( ! [X: nat] :
            ( ( P @ X )
           => ( Q @ X ) )
       => ( Q @ ( the_nat @ P ) ) ) ) ).

% the1I2
thf(fact_248_the1__equality,axiom,
    ! [P: nat > $o,A: nat] :
      ( ? [X7: nat] :
          ( ( P @ X7 )
          & ! [Y4: nat] :
              ( ( P @ Y4 )
             => ( Y4 = X7 ) ) )
     => ( ( P @ A )
       => ( ( the_nat @ P )
          = A ) ) ) ).

% the1_equality
thf(fact_249_Collect__empty__eq__bot,axiom,
    ! [P: nat > $o] :
      ( ( ( collect_nat @ P )
        = bot_bot_set_nat )
      = ( P = bot_bot_nat_o ) ) ).

% Collect_empty_eq_bot
thf(fact_250_bot__empty__eq,axiom,
    ( bot_bot_nat_o
    = ( ^ [X4: nat] : ( member_nat @ X4 @ bot_bot_set_nat ) ) ) ).

% bot_empty_eq
thf(fact_251_free__tv__subst,axiom,
    ( type_M1715972684le_typ
    = ( ^ [S4: nat > type_Mirabelle_typ] : ( sup_sup_set_nat @ ( type_Mirabelle_dom @ S4 ) @ ( type_Mirabelle_cod @ S4 ) ) ) ) ).

% free_tv_subst
thf(fact_252_UnCI,axiom,
    ! [C: nat,B: set_nat,A2: set_nat] :
      ( ( ~ ( member_nat @ C @ B )
       => ( member_nat @ C @ A2 ) )
     => ( member_nat @ C @ ( sup_sup_set_nat @ A2 @ B ) ) ) ).

% UnCI
thf(fact_253_Un__iff,axiom,
    ! [C: nat,A2: set_nat,B: set_nat] :
      ( ( member_nat @ C @ ( sup_sup_set_nat @ A2 @ B ) )
      = ( ( member_nat @ C @ A2 )
        | ( member_nat @ C @ B ) ) ) ).

% Un_iff
thf(fact_254_Un__empty,axiom,
    ! [A2: set_nat,B: set_nat] :
      ( ( ( sup_sup_set_nat @ A2 @ B )
        = bot_bot_set_nat )
      = ( ( A2 = bot_bot_set_nat )
        & ( B = bot_bot_set_nat ) ) ) ).

% Un_empty
thf(fact_255_Un__insert__left,axiom,
    ! [A: nat,B: set_nat,C3: set_nat] :
      ( ( sup_sup_set_nat @ ( insert_nat @ A @ B ) @ C3 )
      = ( insert_nat @ A @ ( sup_sup_set_nat @ B @ C3 ) ) ) ).

% Un_insert_left
thf(fact_256_Un__insert__right,axiom,
    ! [A2: set_nat,A: nat,B: set_nat] :
      ( ( sup_sup_set_nat @ A2 @ ( insert_nat @ A @ B ) )
      = ( insert_nat @ A @ ( sup_sup_set_nat @ A2 @ B ) ) ) ).

% Un_insert_right
thf(fact_257_weaken__asm__Un,axiom,
    ! [A2: set_nat,P: nat > $o,Q: $o,B: set_nat] :
      ( ( ! [X7: nat] :
            ( ( member_nat @ X7 @ A2 )
           => ( P @ X7 ) )
       => Q )
     => ( ! [X: nat] :
            ( ( member_nat @ X @ ( sup_sup_set_nat @ A2 @ B ) )
           => ( P @ X ) )
       => Q ) ) ).

% weaken_asm_Un
thf(fact_258_UnE,axiom,
    ! [C: nat,A2: set_nat,B: set_nat] :
      ( ( member_nat @ C @ ( sup_sup_set_nat @ A2 @ B ) )
     => ( ~ ( member_nat @ C @ A2 )
       => ( member_nat @ C @ B ) ) ) ).

% UnE
thf(fact_259_UnI1,axiom,
    ! [C: nat,A2: set_nat,B: set_nat] :
      ( ( member_nat @ C @ A2 )
     => ( member_nat @ C @ ( sup_sup_set_nat @ A2 @ B ) ) ) ).

% UnI1
thf(fact_260_UnI2,axiom,
    ! [C: nat,B: set_nat,A2: set_nat] :
      ( ( member_nat @ C @ B )
     => ( member_nat @ C @ ( sup_sup_set_nat @ A2 @ B ) ) ) ).

% UnI2
thf(fact_261_Un__def,axiom,
    ( sup_sup_set_nat
    = ( ^ [A4: set_nat,B4: set_nat] :
          ( collect_nat
          @ ^ [X4: nat] :
              ( ( member_nat @ X4 @ A4 )
              | ( member_nat @ X4 @ B4 ) ) ) ) ) ).

% Un_def
thf(fact_262_bex__Un,axiom,
    ! [A2: set_nat,B: set_nat,P: nat > $o] :
      ( ( ? [X4: nat] :
            ( ( member_nat @ X4 @ ( sup_sup_set_nat @ A2 @ B ) )
            & ( P @ X4 ) ) )
      = ( ? [X4: nat] :
            ( ( member_nat @ X4 @ A2 )
            & ( P @ X4 ) )
        | ? [X4: nat] :
            ( ( member_nat @ X4 @ B )
            & ( P @ X4 ) ) ) ) ).

% bex_Un
thf(fact_263_ball__Un,axiom,
    ! [A2: set_nat,B: set_nat,P: nat > $o] :
      ( ( ! [X4: nat] :
            ( ( member_nat @ X4 @ ( sup_sup_set_nat @ A2 @ B ) )
           => ( P @ X4 ) ) )
      = ( ! [X4: nat] :
            ( ( member_nat @ X4 @ A2 )
           => ( P @ X4 ) )
        & ! [X4: nat] :
            ( ( member_nat @ X4 @ B )
           => ( P @ X4 ) ) ) ) ).

% ball_Un
thf(fact_264_Un__assoc,axiom,
    ! [A2: set_nat,B: set_nat,C3: set_nat] :
      ( ( sup_sup_set_nat @ ( sup_sup_set_nat @ A2 @ B ) @ C3 )
      = ( sup_sup_set_nat @ A2 @ ( sup_sup_set_nat @ B @ C3 ) ) ) ).

% Un_assoc
thf(fact_265_Un__absorb,axiom,
    ! [A2: set_nat] :
      ( ( sup_sup_set_nat @ A2 @ A2 )
      = A2 ) ).

% Un_absorb
thf(fact_266_Un__commute,axiom,
    ( sup_sup_set_nat
    = ( ^ [A4: set_nat,B4: set_nat] : ( sup_sup_set_nat @ B4 @ A4 ) ) ) ).

% Un_commute
thf(fact_267_Un__left__absorb,axiom,
    ! [A2: set_nat,B: set_nat] :
      ( ( sup_sup_set_nat @ A2 @ ( sup_sup_set_nat @ A2 @ B ) )
      = ( sup_sup_set_nat @ A2 @ B ) ) ).

% Un_left_absorb
thf(fact_268_Collect__disj__eq,axiom,
    ! [P: nat > $o,Q: nat > $o] :
      ( ( collect_nat
        @ ^ [X4: nat] :
            ( ( P @ X4 )
            | ( Q @ X4 ) ) )
      = ( sup_sup_set_nat @ ( collect_nat @ P ) @ ( collect_nat @ Q ) ) ) ).

% Collect_disj_eq
thf(fact_269_Un__left__commute,axiom,
    ! [A2: set_nat,B: set_nat,C3: set_nat] :
      ( ( sup_sup_set_nat @ A2 @ ( sup_sup_set_nat @ B @ C3 ) )
      = ( sup_sup_set_nat @ B @ ( sup_sup_set_nat @ A2 @ C3 ) ) ) ).

% Un_left_commute
thf(fact_270_insert__def,axiom,
    ( insert_nat
    = ( ^ [A3: nat] :
          ( sup_sup_set_nat
          @ ( collect_nat
            @ ^ [X4: nat] : X4 = A3 ) ) ) ) ).

% insert_def
thf(fact_271_Un__empty__left,axiom,
    ! [B: set_nat] :
      ( ( sup_sup_set_nat @ bot_bot_set_nat @ B )
      = B ) ).

% Un_empty_left
thf(fact_272_Un__empty__right,axiom,
    ! [A2: set_nat] :
      ( ( sup_sup_set_nat @ A2 @ bot_bot_set_nat )
      = A2 ) ).

% Un_empty_right
thf(fact_273_singleton__Un__iff,axiom,
    ! [X3: nat,A2: set_nat,B: set_nat] :
      ( ( ( insert_nat @ X3 @ bot_bot_set_nat )
        = ( sup_sup_set_nat @ A2 @ B ) )
      = ( ( ( A2 = bot_bot_set_nat )
          & ( B
            = ( insert_nat @ X3 @ bot_bot_set_nat ) ) )
        | ( ( A2
            = ( insert_nat @ X3 @ bot_bot_set_nat ) )
          & ( B = bot_bot_set_nat ) )
        | ( ( A2
            = ( insert_nat @ X3 @ bot_bot_set_nat ) )
          & ( B
            = ( insert_nat @ X3 @ bot_bot_set_nat ) ) ) ) ) ).

% singleton_Un_iff
thf(fact_274_Un__singleton__iff,axiom,
    ! [A2: set_nat,B: set_nat,X3: nat] :
      ( ( ( sup_sup_set_nat @ A2 @ B )
        = ( insert_nat @ X3 @ bot_bot_set_nat ) )
      = ( ( ( A2 = bot_bot_set_nat )
          & ( B
            = ( insert_nat @ X3 @ bot_bot_set_nat ) ) )
        | ( ( A2
            = ( insert_nat @ X3 @ bot_bot_set_nat ) )
          & ( B = bot_bot_set_nat ) )
        | ( ( A2
            = ( insert_nat @ X3 @ bot_bot_set_nat ) )
          & ( B
            = ( insert_nat @ X3 @ bot_bot_set_nat ) ) ) ) ) ).

% Un_singleton_iff
thf(fact_275_insert__is__Un,axiom,
    ( insert_nat
    = ( ^ [A3: nat] : ( sup_sup_set_nat @ ( insert_nat @ A3 @ bot_bot_set_nat ) ) ) ) ).

% insert_is_Un
thf(fact_276_bound__tv__list_Osimps_I2_J,axiom,
    ! [X3: type_Mirabelle_typ,L: list_T1103309005le_typ] :
      ( ( type_M1539052445le_typ @ ( cons_T363929085le_typ @ X3 @ L ) )
      = ( sup_sup_set_nat @ ( type_M801073677le_typ @ X3 ) @ ( type_M1539052445le_typ @ L ) ) ) ).

% bound_tv_list.simps(2)
thf(fact_277_bound__tv__list_Osimps_I2_J,axiom,
    ! [X3: nat > type_Mirabelle_typ,L: list_n396811828le_typ] :
      ( ( type_M513401740le_typ @ ( cons_n499085924le_typ @ X3 @ L ) )
      = ( sup_sup_set_nat @ ( type_M772783356le_typ @ X3 ) @ ( type_M513401740le_typ @ L ) ) ) ).

% bound_tv_list.simps(2)
thf(fact_278_bound__tv__list_Osimps_I2_J,axiom,
    ! [X3: list_T247403987scheme,L: list_l1334080099scheme] :
      ( ( type_M1496178953scheme @ ( cons_l1910959773scheme @ X3 @ L ) )
      = ( sup_sup_set_nat @ ( type_M961603331scheme @ X3 ) @ ( type_M1496178953scheme @ L ) ) ) ).

% bound_tv_list.simps(2)
thf(fact_279_bound__tv__list_Osimps_I2_J,axiom,
    ! [X3: type_M1694694083scheme,L: list_T247403987scheme] :
      ( ( type_M961603331scheme @ ( cons_T633159821scheme @ X3 @ L ) )
      = ( sup_sup_set_nat @ ( type_M326705277scheme @ X3 ) @ ( type_M961603331scheme @ L ) ) ) ).

% bound_tv_list.simps(2)
thf(fact_280_free__tv__Fun,axiom,
    ! [T1: type_Mirabelle_typ,T2: type_Mirabelle_typ] :
      ( ( type_M49385309le_typ @ ( type_Mirabelle_Fun @ T1 @ T2 ) )
      = ( sup_sup_set_nat @ ( type_M49385309le_typ @ T1 ) @ ( type_M49385309le_typ @ T2 ) ) ) ).

% free_tv_Fun
thf(fact_281_free__tv__type__scheme_Osimps_I3_J,axiom,
    ! [S1: type_M1694694083scheme,S2: type_M1694694083scheme] :
      ( ( type_M1050318637scheme @ ( type_M155660035e_SFun @ S1 @ S2 ) )
      = ( sup_sup_set_nat @ ( type_M1050318637scheme @ S1 ) @ ( type_M1050318637scheme @ S2 ) ) ) ).

% free_tv_type_scheme.simps(3)
thf(fact_282_bound__tv__type__scheme_Osimps_I3_J,axiom,
    ! [S1: type_M1694694083scheme,S2: type_M1694694083scheme] :
      ( ( type_M326705277scheme @ ( type_M155660035e_SFun @ S1 @ S2 ) )
      = ( sup_sup_set_nat @ ( type_M326705277scheme @ S1 ) @ ( type_M326705277scheme @ S2 ) ) ) ).

% bound_tv_type_scheme.simps(3)
thf(fact_283_free__tv__list_Osimps_I2_J,axiom,
    ! [X3: list_n396811828le_typ,L: list_l865305402le_typ] :
      ( ( type_M906078444le_typ @ ( cons_l1800589546le_typ @ X3 @ L ) )
      = ( sup_sup_set_nat @ ( type_M1691543772le_typ @ X3 ) @ ( type_M906078444le_typ @ L ) ) ) ).

% free_tv_list.simps(2)
thf(fact_284_free__tv__list_Osimps_I2_J,axiom,
    ! [X3: list_l1334080099scheme,L: list_l1704431731scheme] :
      ( ( type_M1926053183scheme @ ( cons_l531914285scheme @ X3 @ L ) )
      = ( sup_sup_set_nat @ ( type_M1958029241scheme @ X3 ) @ ( type_M1926053183scheme @ L ) ) ) ).

% free_tv_list.simps(2)
thf(fact_285_free__tv__list_Osimps_I2_J,axiom,
    ! [X3: list_T1103309005le_typ,L: list_l1790670291le_typ] :
      ( ( type_M1418941437le_typ @ ( cons_l392684675le_typ @ X3 @ L ) )
      = ( sup_sup_set_nat @ ( type_M510873837le_typ @ X3 ) @ ( type_M1418941437le_typ @ L ) ) ) ).

% free_tv_list.simps(2)
thf(fact_286_free__tv__list_Osimps_I2_J,axiom,
    ! [X3: type_Mirabelle_typ,L: list_T1103309005le_typ] :
      ( ( type_M510873837le_typ @ ( cons_T363929085le_typ @ X3 @ L ) )
      = ( sup_sup_set_nat @ ( type_M49385309le_typ @ X3 ) @ ( type_M510873837le_typ @ L ) ) ) ).

% free_tv_list.simps(2)
thf(fact_287_free__tv__list_Osimps_I2_J,axiom,
    ! [X3: list_T247403987scheme,L: list_l1334080099scheme] :
      ( ( type_M1958029241scheme @ ( cons_l1910959773scheme @ X3 @ L ) )
      = ( sup_sup_set_nat @ ( type_M141510067scheme @ X3 ) @ ( type_M1958029241scheme @ L ) ) ) ).

% free_tv_list.simps(2)
thf(fact_288_free__tv__list_Osimps_I2_J,axiom,
    ! [X3: nat > type_Mirabelle_typ,L: list_n396811828le_typ] :
      ( ( type_M1691543772le_typ @ ( cons_n499085924le_typ @ X3 @ L ) )
      = ( sup_sup_set_nat @ ( type_M1715972684le_typ @ X3 ) @ ( type_M1691543772le_typ @ L ) ) ) ).

% free_tv_list.simps(2)
thf(fact_289_free__tv__list_Osimps_I2_J,axiom,
    ! [X3: type_M1694694083scheme,L: list_T247403987scheme] :
      ( ( type_M141510067scheme @ ( cons_T633159821scheme @ X3 @ L ) )
      = ( sup_sup_set_nat @ ( type_M1050318637scheme @ X3 ) @ ( type_M141510067scheme @ L ) ) ) ).

% free_tv_list.simps(2)
thf(fact_290_free__tv__fun__def,axiom,
    ( type_M1715972684le_typ
    = ( ^ [F2: nat > type_Mirabelle_typ] :
          ( sup_sup_set_nat
          @ ( type_Mirabelle_dom
            @ ^ [N3: nat] : ( type_M1743451154le_typ @ ( F2 @ ( type_M1898948661at_nat @ N3 ) ) ) )
          @ ( type_Mirabelle_cod
            @ ^ [N3: nat] : ( type_M1743451154le_typ @ ( F2 @ ( type_M1898948661at_nat @ N3 ) ) ) ) ) ) ) ).

% free_tv_fun_def
thf(fact_291_sup__bot__left,axiom,
    ! [X3: nat > $o] :
      ( ( sup_sup_nat_o @ bot_bot_nat_o @ X3 )
      = X3 ) ).

% sup_bot_left
thf(fact_292_sup__bot__left,axiom,
    ! [X3: set_nat] :
      ( ( sup_sup_set_nat @ bot_bot_set_nat @ X3 )
      = X3 ) ).

% sup_bot_left
thf(fact_293_sup__bot__right,axiom,
    ! [X3: nat > $o] :
      ( ( sup_sup_nat_o @ X3 @ bot_bot_nat_o )
      = X3 ) ).

% sup_bot_right
thf(fact_294_sup__bot__right,axiom,
    ! [X3: set_nat] :
      ( ( sup_sup_set_nat @ X3 @ bot_bot_set_nat )
      = X3 ) ).

% sup_bot_right
thf(fact_295_sup__bot_Oright__neutral,axiom,
    ! [A: nat > $o] :
      ( ( sup_sup_nat_o @ A @ bot_bot_nat_o )
      = A ) ).

% sup_bot.right_neutral
thf(fact_296_sup__bot_Oright__neutral,axiom,
    ! [A: set_nat] :
      ( ( sup_sup_set_nat @ A @ bot_bot_set_nat )
      = A ) ).

% sup_bot.right_neutral
thf(fact_297_sup__bot_Oneutr__eq__iff,axiom,
    ! [A: nat > $o,B2: nat > $o] :
      ( ( bot_bot_nat_o
        = ( sup_sup_nat_o @ A @ B2 ) )
      = ( ( A = bot_bot_nat_o )
        & ( B2 = bot_bot_nat_o ) ) ) ).

% sup_bot.neutr_eq_iff
thf(fact_298_sup__bot_Oneutr__eq__iff,axiom,
    ! [A: set_nat,B2: set_nat] :
      ( ( bot_bot_set_nat
        = ( sup_sup_set_nat @ A @ B2 ) )
      = ( ( A = bot_bot_set_nat )
        & ( B2 = bot_bot_set_nat ) ) ) ).

% sup_bot.neutr_eq_iff
thf(fact_299_sup__bot_Oleft__neutral,axiom,
    ! [A: nat > $o] :
      ( ( sup_sup_nat_o @ bot_bot_nat_o @ A )
      = A ) ).

% sup_bot.left_neutral
thf(fact_300_sup__bot_Oleft__neutral,axiom,
    ! [A: set_nat] :
      ( ( sup_sup_set_nat @ bot_bot_set_nat @ A )
      = A ) ).

% sup_bot.left_neutral
thf(fact_301_sup__bot_Oeq__neutr__iff,axiom,
    ! [A: nat > $o,B2: nat > $o] :
      ( ( ( sup_sup_nat_o @ A @ B2 )
        = bot_bot_nat_o )
      = ( ( A = bot_bot_nat_o )
        & ( B2 = bot_bot_nat_o ) ) ) ).

% sup_bot.eq_neutr_iff
thf(fact_302_sup__bot_Oeq__neutr__iff,axiom,
    ! [A: set_nat,B2: set_nat] :
      ( ( ( sup_sup_set_nat @ A @ B2 )
        = bot_bot_set_nat )
      = ( ( A = bot_bot_set_nat )
        & ( B2 = bot_bot_set_nat ) ) ) ).

% sup_bot.eq_neutr_iff
thf(fact_303_sup__eq__bot__iff,axiom,
    ! [X3: nat > $o,Y: nat > $o] :
      ( ( ( sup_sup_nat_o @ X3 @ Y )
        = bot_bot_nat_o )
      = ( ( X3 = bot_bot_nat_o )
        & ( Y = bot_bot_nat_o ) ) ) ).

% sup_eq_bot_iff
thf(fact_304_sup__eq__bot__iff,axiom,
    ! [X3: set_nat,Y: set_nat] :
      ( ( ( sup_sup_set_nat @ X3 @ Y )
        = bot_bot_set_nat )
      = ( ( X3 = bot_bot_set_nat )
        & ( Y = bot_bot_set_nat ) ) ) ).

% sup_eq_bot_iff
thf(fact_305_bot__eq__sup__iff,axiom,
    ! [X3: nat > $o,Y: nat > $o] :
      ( ( bot_bot_nat_o
        = ( sup_sup_nat_o @ X3 @ Y ) )
      = ( ( X3 = bot_bot_nat_o )
        & ( Y = bot_bot_nat_o ) ) ) ).

% bot_eq_sup_iff
thf(fact_306_bot__eq__sup__iff,axiom,
    ! [X3: set_nat,Y: set_nat] :
      ( ( bot_bot_set_nat
        = ( sup_sup_set_nat @ X3 @ Y ) )
      = ( ( X3 = bot_bot_set_nat )
        & ( Y = bot_bot_set_nat ) ) ) ).

% bot_eq_sup_iff
thf(fact_307_sup__Un__eq,axiom,
    ! [R: set_nat,S: set_nat] :
      ( ( sup_sup_nat_o
        @ ^ [X4: nat] : ( member_nat @ X4 @ R )
        @ ^ [X4: nat] : ( member_nat @ X4 @ S ) )
      = ( ^ [X4: nat] : ( member_nat @ X4 @ ( sup_sup_set_nat @ R @ S ) ) ) ) ).

% sup_Un_eq
thf(fact_308_sup__set__def,axiom,
    ( sup_sup_set_nat
    = ( ^ [A4: set_nat,B4: set_nat] :
          ( collect_nat
          @ ( sup_sup_nat_o
            @ ^ [X4: nat] : ( member_nat @ X4 @ A4 )
            @ ^ [X4: nat] : ( member_nat @ X4 @ B4 ) ) ) ) ) ).

% sup_set_def
thf(fact_309_less__supI1,axiom,
    ! [X3: nat > $o,A: nat > $o,B2: nat > $o] :
      ( ( ord_less_nat_o @ X3 @ A )
     => ( ord_less_nat_o @ X3 @ ( sup_sup_nat_o @ A @ B2 ) ) ) ).

% less_supI1
thf(fact_310_less__supI1,axiom,
    ! [X3: set_nat,A: set_nat,B2: set_nat] :
      ( ( ord_less_set_nat @ X3 @ A )
     => ( ord_less_set_nat @ X3 @ ( sup_sup_set_nat @ A @ B2 ) ) ) ).

% less_supI1
thf(fact_311_less__supI1,axiom,
    ! [X3: nat,A: nat,B2: nat] :
      ( ( ord_less_nat @ X3 @ A )
     => ( ord_less_nat @ X3 @ ( sup_sup_nat @ A @ B2 ) ) ) ).

% less_supI1
thf(fact_312_less__supI2,axiom,
    ! [X3: nat > $o,B2: nat > $o,A: nat > $o] :
      ( ( ord_less_nat_o @ X3 @ B2 )
     => ( ord_less_nat_o @ X3 @ ( sup_sup_nat_o @ A @ B2 ) ) ) ).

% less_supI2
thf(fact_313_less__supI2,axiom,
    ! [X3: set_nat,B2: set_nat,A: set_nat] :
      ( ( ord_less_set_nat @ X3 @ B2 )
     => ( ord_less_set_nat @ X3 @ ( sup_sup_set_nat @ A @ B2 ) ) ) ).

% less_supI2
thf(fact_314_less__supI2,axiom,
    ! [X3: nat,B2: nat,A: nat] :
      ( ( ord_less_nat @ X3 @ B2 )
     => ( ord_less_nat @ X3 @ ( sup_sup_nat @ A @ B2 ) ) ) ).

% less_supI2
thf(fact_315_sup_Ostrict__boundedE,axiom,
    ! [B2: nat > $o,C: nat > $o,A: nat > $o] :
      ( ( ord_less_nat_o @ ( sup_sup_nat_o @ B2 @ C ) @ A )
     => ~ ( ( ord_less_nat_o @ B2 @ A )
         => ~ ( ord_less_nat_o @ C @ A ) ) ) ).

% sup.strict_boundedE
thf(fact_316_sup_Ostrict__boundedE,axiom,
    ! [B2: set_nat,C: set_nat,A: set_nat] :
      ( ( ord_less_set_nat @ ( sup_sup_set_nat @ B2 @ C ) @ A )
     => ~ ( ( ord_less_set_nat @ B2 @ A )
         => ~ ( ord_less_set_nat @ C @ A ) ) ) ).

% sup.strict_boundedE
thf(fact_317_sup_Ostrict__boundedE,axiom,
    ! [B2: nat,C: nat,A: nat] :
      ( ( ord_less_nat @ ( sup_sup_nat @ B2 @ C ) @ A )
     => ~ ( ( ord_less_nat @ B2 @ A )
         => ~ ( ord_less_nat @ C @ A ) ) ) ).

% sup.strict_boundedE
thf(fact_318_sup_Ostrict__order__iff,axiom,
    ( ord_less_nat_o
    = ( ^ [B6: nat > $o,A3: nat > $o] :
          ( ( A3
            = ( sup_sup_nat_o @ A3 @ B6 ) )
          & ( A3 != B6 ) ) ) ) ).

% sup.strict_order_iff
thf(fact_319_sup_Ostrict__order__iff,axiom,
    ( ord_less_set_nat
    = ( ^ [B6: set_nat,A3: set_nat] :
          ( ( A3
            = ( sup_sup_set_nat @ A3 @ B6 ) )
          & ( A3 != B6 ) ) ) ) ).

% sup.strict_order_iff
thf(fact_320_sup_Ostrict__order__iff,axiom,
    ( ord_less_nat
    = ( ^ [B6: nat,A3: nat] :
          ( ( A3
            = ( sup_sup_nat @ A3 @ B6 ) )
          & ( A3 != B6 ) ) ) ) ).

% sup.strict_order_iff
thf(fact_321_sup_Ostrict__coboundedI1,axiom,
    ! [C: nat > $o,A: nat > $o,B2: nat > $o] :
      ( ( ord_less_nat_o @ C @ A )
     => ( ord_less_nat_o @ C @ ( sup_sup_nat_o @ A @ B2 ) ) ) ).

% sup.strict_coboundedI1
thf(fact_322_sup_Ostrict__coboundedI1,axiom,
    ! [C: set_nat,A: set_nat,B2: set_nat] :
      ( ( ord_less_set_nat @ C @ A )
     => ( ord_less_set_nat @ C @ ( sup_sup_set_nat @ A @ B2 ) ) ) ).

% sup.strict_coboundedI1
thf(fact_323_sup_Ostrict__coboundedI1,axiom,
    ! [C: nat,A: nat,B2: nat] :
      ( ( ord_less_nat @ C @ A )
     => ( ord_less_nat @ C @ ( sup_sup_nat @ A @ B2 ) ) ) ).

% sup.strict_coboundedI1
thf(fact_324_sup_Ostrict__coboundedI2,axiom,
    ! [C: nat > $o,B2: nat > $o,A: nat > $o] :
      ( ( ord_less_nat_o @ C @ B2 )
     => ( ord_less_nat_o @ C @ ( sup_sup_nat_o @ A @ B2 ) ) ) ).

% sup.strict_coboundedI2
thf(fact_325_sup_Ostrict__coboundedI2,axiom,
    ! [C: set_nat,B2: set_nat,A: set_nat] :
      ( ( ord_less_set_nat @ C @ B2 )
     => ( ord_less_set_nat @ C @ ( sup_sup_set_nat @ A @ B2 ) ) ) ).

% sup.strict_coboundedI2
thf(fact_326_sup_Ostrict__coboundedI2,axiom,
    ! [C: nat,B2: nat,A: nat] :
      ( ( ord_less_nat @ C @ B2 )
     => ( ord_less_nat @ C @ ( sup_sup_nat @ A @ B2 ) ) ) ).

% sup.strict_coboundedI2
thf(fact_327_Nitpick_OThe__psimp,axiom,
    ! [P: nat > $o,X3: nat] :
      ( ( P
        = ( ^ [Y3: nat,Z: nat] : Y3 = Z
          @ X3 ) )
     => ( ( the_nat @ P )
        = X3 ) ) ).

% Nitpick.The_psimp
thf(fact_328_theI__unique,axiom,
    ! [P: nat > $o,X3: nat] :
      ( ? [X7: nat] :
          ( ( P @ X7 )
          & ! [Y4: nat] :
              ( ( P @ Y4 )
             => ( Y4 = X7 ) ) )
     => ( ( P @ X3 )
        = ( X3
          = ( the_nat @ P ) ) ) ) ).

% theI_unique
thf(fact_329_sup__bot_Osemilattice__neutr__axioms,axiom,
    semila1414375521_nat_o @ sup_sup_nat_o @ bot_bot_nat_o ).

% sup_bot.semilattice_neutr_axioms
thf(fact_330_sup__bot_Osemilattice__neutr__axioms,axiom,
    semila1369944356et_nat @ sup_sup_set_nat @ bot_bot_set_nat ).

% sup_bot.semilattice_neutr_axioms
thf(fact_331_lexordp__eq__simps_I4_J,axiom,
    ! [X3: set_nat,Xs: list_set_nat,Y: set_nat,Ys: list_set_nat] :
      ( ( ord_le727790544et_nat @ ( cons_set_nat @ X3 @ Xs ) @ ( cons_set_nat @ Y @ Ys ) )
      = ( ( ord_less_set_nat @ X3 @ Y )
        | ( ~ ( ord_less_set_nat @ Y @ X3 )
          & ( ord_le727790544et_nat @ Xs @ Ys ) ) ) ) ).

% lexordp_eq_simps(4)
thf(fact_332_lexordp__eq__simps_I4_J,axiom,
    ! [X3: nat > $o,Xs: list_nat_o,Y: nat > $o,Ys: list_nat_o] :
      ( ( ord_lexordp_eq_nat_o @ ( cons_nat_o @ X3 @ Xs ) @ ( cons_nat_o @ Y @ Ys ) )
      = ( ( ord_less_nat_o @ X3 @ Y )
        | ( ~ ( ord_less_nat_o @ Y @ X3 )
          & ( ord_lexordp_eq_nat_o @ Xs @ Ys ) ) ) ) ).

% lexordp_eq_simps(4)
thf(fact_333_lexordp__eq__simps_I4_J,axiom,
    ! [X3: nat,Xs: list_nat,Y: nat,Ys: list_nat] :
      ( ( ord_lexordp_eq_nat @ ( cons_nat @ X3 @ Xs ) @ ( cons_nat @ Y @ Ys ) )
      = ( ( ord_less_nat @ X3 @ Y )
        | ( ~ ( ord_less_nat @ Y @ X3 )
          & ( ord_lexordp_eq_nat @ Xs @ Ys ) ) ) ) ).

% lexordp_eq_simps(4)
thf(fact_334_lexordp__eq_OCons__eq,axiom,
    ! [X3: set_nat,Y: set_nat,Xs: list_set_nat,Ys: list_set_nat] :
      ( ~ ( ord_less_set_nat @ X3 @ Y )
     => ( ~ ( ord_less_set_nat @ Y @ X3 )
       => ( ( ord_le727790544et_nat @ Xs @ Ys )
         => ( ord_le727790544et_nat @ ( cons_set_nat @ X3 @ Xs ) @ ( cons_set_nat @ Y @ Ys ) ) ) ) ) ).

% lexordp_eq.Cons_eq
thf(fact_335_lexordp__eq_OCons__eq,axiom,
    ! [X3: nat > $o,Y: nat > $o,Xs: list_nat_o,Ys: list_nat_o] :
      ( ~ ( ord_less_nat_o @ X3 @ Y )
     => ( ~ ( ord_less_nat_o @ Y @ X3 )
       => ( ( ord_lexordp_eq_nat_o @ Xs @ Ys )
         => ( ord_lexordp_eq_nat_o @ ( cons_nat_o @ X3 @ Xs ) @ ( cons_nat_o @ Y @ Ys ) ) ) ) ) ).

% lexordp_eq.Cons_eq
thf(fact_336_lexordp__eq_OCons__eq,axiom,
    ! [X3: nat,Y: nat,Xs: list_nat,Ys: list_nat] :
      ( ~ ( ord_less_nat @ X3 @ Y )
     => ( ~ ( ord_less_nat @ Y @ X3 )
       => ( ( ord_lexordp_eq_nat @ Xs @ Ys )
         => ( ord_lexordp_eq_nat @ ( cons_nat @ X3 @ Xs ) @ ( cons_nat @ Y @ Ys ) ) ) ) ) ).

% lexordp_eq.Cons_eq
thf(fact_337_lexordp__eq_OCons,axiom,
    ! [X3: set_nat,Y: set_nat,Xs: list_set_nat,Ys: list_set_nat] :
      ( ( ord_less_set_nat @ X3 @ Y )
     => ( ord_le727790544et_nat @ ( cons_set_nat @ X3 @ Xs ) @ ( cons_set_nat @ Y @ Ys ) ) ) ).

% lexordp_eq.Cons
thf(fact_338_lexordp__eq_OCons,axiom,
    ! [X3: nat > $o,Y: nat > $o,Xs: list_nat_o,Ys: list_nat_o] :
      ( ( ord_less_nat_o @ X3 @ Y )
     => ( ord_lexordp_eq_nat_o @ ( cons_nat_o @ X3 @ Xs ) @ ( cons_nat_o @ Y @ Ys ) ) ) ).

% lexordp_eq.Cons
thf(fact_339_lexordp__eq_OCons,axiom,
    ! [X3: nat,Y: nat,Xs: list_nat,Ys: list_nat] :
      ( ( ord_less_nat @ X3 @ Y )
     => ( ord_lexordp_eq_nat @ ( cons_nat @ X3 @ Xs ) @ ( cons_nat @ Y @ Ys ) ) ) ).

% lexordp_eq.Cons
thf(fact_340_lexordp__eq__antisym,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( ord_lexordp_eq_nat @ Xs @ Ys )
     => ( ( ord_lexordp_eq_nat @ Ys @ Xs )
       => ( Xs = Ys ) ) ) ).

% lexordp_eq_antisym
thf(fact_341_lexordp__eq__linear,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( ord_lexordp_eq_nat @ Xs @ Ys )
      | ( ord_lexordp_eq_nat @ Ys @ Xs ) ) ).

% lexordp_eq_linear
thf(fact_342_lexordp__eq__trans,axiom,
    ! [Xs: list_nat,Ys: list_nat,Zs: list_nat] :
      ( ( ord_lexordp_eq_nat @ Xs @ Ys )
     => ( ( ord_lexordp_eq_nat @ Ys @ Zs )
       => ( ord_lexordp_eq_nat @ Xs @ Zs ) ) ) ).

% lexordp_eq_trans
thf(fact_343_lexordp__eq__refl,axiom,
    ! [Xs: list_nat] : ( ord_lexordp_eq_nat @ Xs @ Xs ) ).

% lexordp_eq_refl
thf(fact_344_lexordp__eq_Ocases,axiom,
    ! [A1: list_set_nat,A22: list_set_nat] :
      ( ( ord_le727790544et_nat @ A1 @ A22 )
     => ( ( A1 != nil_set_nat )
       => ( ! [X: set_nat] :
              ( ? [Xs2: list_set_nat] :
                  ( A1
                  = ( cons_set_nat @ X @ Xs2 ) )
             => ! [Y4: set_nat] :
                  ( ? [Ys2: list_set_nat] :
                      ( A22
                      = ( cons_set_nat @ Y4 @ Ys2 ) )
                 => ~ ( ord_less_set_nat @ X @ Y4 ) ) )
         => ~ ! [X: set_nat,Y4: set_nat,Xs2: list_set_nat] :
                ( ( A1
                  = ( cons_set_nat @ X @ Xs2 ) )
               => ! [Ys2: list_set_nat] :
                    ( ( A22
                      = ( cons_set_nat @ Y4 @ Ys2 ) )
                   => ( ~ ( ord_less_set_nat @ X @ Y4 )
                     => ( ~ ( ord_less_set_nat @ Y4 @ X )
                       => ~ ( ord_le727790544et_nat @ Xs2 @ Ys2 ) ) ) ) ) ) ) ) ).

% lexordp_eq.cases
thf(fact_345_lexordp__eq_Ocases,axiom,
    ! [A1: list_nat_o,A22: list_nat_o] :
      ( ( ord_lexordp_eq_nat_o @ A1 @ A22 )
     => ( ( A1 != nil_nat_o )
       => ( ! [X: nat > $o] :
              ( ? [Xs2: list_nat_o] :
                  ( A1
                  = ( cons_nat_o @ X @ Xs2 ) )
             => ! [Y4: nat > $o] :
                  ( ? [Ys2: list_nat_o] :
                      ( A22
                      = ( cons_nat_o @ Y4 @ Ys2 ) )
                 => ~ ( ord_less_nat_o @ X @ Y4 ) ) )
         => ~ ! [X: nat > $o,Y4: nat > $o,Xs2: list_nat_o] :
                ( ( A1
                  = ( cons_nat_o @ X @ Xs2 ) )
               => ! [Ys2: list_nat_o] :
                    ( ( A22
                      = ( cons_nat_o @ Y4 @ Ys2 ) )
                   => ( ~ ( ord_less_nat_o @ X @ Y4 )
                     => ( ~ ( ord_less_nat_o @ Y4 @ X )
                       => ~ ( ord_lexordp_eq_nat_o @ Xs2 @ Ys2 ) ) ) ) ) ) ) ) ).

% lexordp_eq.cases
thf(fact_346_lexordp__eq_Ocases,axiom,
    ! [A1: list_nat,A22: list_nat] :
      ( ( ord_lexordp_eq_nat @ A1 @ A22 )
     => ( ( A1 != nil_nat )
       => ( ! [X: nat] :
              ( ? [Xs2: list_nat] :
                  ( A1
                  = ( cons_nat @ X @ Xs2 ) )
             => ! [Y4: nat] :
                  ( ? [Ys2: list_nat] :
                      ( A22
                      = ( cons_nat @ Y4 @ Ys2 ) )
                 => ~ ( ord_less_nat @ X @ Y4 ) ) )
         => ~ ! [X: nat,Y4: nat,Xs2: list_nat] :
                ( ( A1
                  = ( cons_nat @ X @ Xs2 ) )
               => ! [Ys2: list_nat] :
                    ( ( A22
                      = ( cons_nat @ Y4 @ Ys2 ) )
                   => ( ~ ( ord_less_nat @ X @ Y4 )
                     => ( ~ ( ord_less_nat @ Y4 @ X )
                       => ~ ( ord_lexordp_eq_nat @ Xs2 @ Ys2 ) ) ) ) ) ) ) ) ).

% lexordp_eq.cases
thf(fact_347_lexordp__eq_Osimps,axiom,
    ( ord_le727790544et_nat
    = ( ^ [A12: list_set_nat,A23: list_set_nat] :
          ( ? [Ys3: list_set_nat] :
              ( ( A12 = nil_set_nat )
              & ( A23 = Ys3 ) )
          | ? [X4: set_nat,Y6: set_nat,Xs3: list_set_nat,Ys3: list_set_nat] :
              ( ( A12
                = ( cons_set_nat @ X4 @ Xs3 ) )
              & ( A23
                = ( cons_set_nat @ Y6 @ Ys3 ) )
              & ( ord_less_set_nat @ X4 @ Y6 ) )
          | ? [X4: set_nat,Y6: set_nat,Xs3: list_set_nat,Ys3: list_set_nat] :
              ( ( A12
                = ( cons_set_nat @ X4 @ Xs3 ) )
              & ( A23
                = ( cons_set_nat @ Y6 @ Ys3 ) )
              & ~ ( ord_less_set_nat @ X4 @ Y6 )
              & ~ ( ord_less_set_nat @ Y6 @ X4 )
              & ( ord_le727790544et_nat @ Xs3 @ Ys3 ) ) ) ) ) ).

% lexordp_eq.simps
thf(fact_348_lexordp__eq_Osimps,axiom,
    ( ord_lexordp_eq_nat_o
    = ( ^ [A12: list_nat_o,A23: list_nat_o] :
          ( ? [Ys3: list_nat_o] :
              ( ( A12 = nil_nat_o )
              & ( A23 = Ys3 ) )
          | ? [X4: nat > $o,Y6: nat > $o,Xs3: list_nat_o,Ys3: list_nat_o] :
              ( ( A12
                = ( cons_nat_o @ X4 @ Xs3 ) )
              & ( A23
                = ( cons_nat_o @ Y6 @ Ys3 ) )
              & ( ord_less_nat_o @ X4 @ Y6 ) )
          | ? [X4: nat > $o,Y6: nat > $o,Xs3: list_nat_o,Ys3: list_nat_o] :
              ( ( A12
                = ( cons_nat_o @ X4 @ Xs3 ) )
              & ( A23
                = ( cons_nat_o @ Y6 @ Ys3 ) )
              & ~ ( ord_less_nat_o @ X4 @ Y6 )
              & ~ ( ord_less_nat_o @ Y6 @ X4 )
              & ( ord_lexordp_eq_nat_o @ Xs3 @ Ys3 ) ) ) ) ) ).

% lexordp_eq.simps
thf(fact_349_lexordp__eq_Osimps,axiom,
    ( ord_lexordp_eq_nat
    = ( ^ [A12: list_nat,A23: list_nat] :
          ( ? [Ys3: list_nat] :
              ( ( A12 = nil_nat )
              & ( A23 = Ys3 ) )
          | ? [X4: nat,Y6: nat,Xs3: list_nat,Ys3: list_nat] :
              ( ( A12
                = ( cons_nat @ X4 @ Xs3 ) )
              & ( A23
                = ( cons_nat @ Y6 @ Ys3 ) )
              & ( ord_less_nat @ X4 @ Y6 ) )
          | ? [X4: nat,Y6: nat,Xs3: list_nat,Ys3: list_nat] :
              ( ( A12
                = ( cons_nat @ X4 @ Xs3 ) )
              & ( A23
                = ( cons_nat @ Y6 @ Ys3 ) )
              & ~ ( ord_less_nat @ X4 @ Y6 )
              & ~ ( ord_less_nat @ Y6 @ X4 )
              & ( ord_lexordp_eq_nat @ Xs3 @ Ys3 ) ) ) ) ) ).

% lexordp_eq.simps
thf(fact_350_app__subst__Nil,axiom,
    ! [S: nat > type_Mirabelle_typ] :
      ( ( type_M1944210753scheme @ S @ nil_Ty61485117scheme )
      = nil_Ty61485117scheme ) ).

% app_subst_Nil
thf(fact_351_new__tv__Nil,axiom,
    ! [N2: nat] : ( type_M2064939256scheme @ N2 @ nil_Ty61485117scheme ) ).

% new_tv_Nil
thf(fact_352_free__tv__list_Osimps_I1_J,axiom,
    ( ( type_M141510067scheme @ nil_Ty61485117scheme )
    = bot_bot_set_nat ) ).

% free_tv_list.simps(1)
thf(fact_353_lexordp__eq_Oinducts,axiom,
    ! [X1: list_nat,X2: list_nat,P: list_nat > list_nat > $o] :
      ( ( ord_lexordp_eq_nat @ X1 @ X2 )
     => ( ! [X_1: list_nat] : ( P @ nil_nat @ X_1 )
       => ( ! [X: nat,Y4: nat,Xs2: list_nat,Ys2: list_nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( P @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y4 @ Ys2 ) ) )
         => ( ! [X: nat,Y4: nat,Xs2: list_nat,Ys2: list_nat] :
                ( ~ ( ord_less_nat @ X @ Y4 )
               => ( ~ ( ord_less_nat @ Y4 @ X )
                 => ( ( ord_lexordp_eq_nat @ Xs2 @ Ys2 )
                   => ( ( P @ Xs2 @ Ys2 )
                     => ( P @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y4 @ Ys2 ) ) ) ) ) )
           => ( P @ X1 @ X2 ) ) ) ) ) ).

% lexordp_eq.inducts

% Helper facts (5)
thf(help_If_2_1_If_001t__Nat__Onat_T,axiom,
    ! [X3: nat,Y: nat] :
      ( ( if_nat @ $false @ X3 @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Nat__Onat_T,axiom,
    ! [X3: nat,Y: nat] :
      ( ( if_nat @ $true @ X3 @ Y )
      = X3 ) ).

thf(help_If_3_1_If_001t__Type____Mirabelle____lczmhmumaa__Otyp_T,axiom,
    ! [P: $o] :
      ( ( P = $true )
      | ( P = $false ) ) ).

thf(help_If_2_1_If_001t__Type____Mirabelle____lczmhmumaa__Otyp_T,axiom,
    ! [X3: type_Mirabelle_typ,Y: type_Mirabelle_typ] :
      ( ( if_Typ1169047309le_typ @ $false @ X3 @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Type____Mirabelle____lczmhmumaa__Otyp_T,axiom,
    ! [X3: type_Mirabelle_typ,Y: type_Mirabelle_typ] :
      ( ( if_Typ1169047309le_typ @ $true @ X3 @ Y )
      = X3 ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    ( ( ( type_M1690910139scheme @ s1 @ ( type_M876316792e_FVar @ x ) )
     != ( type_M1690910139scheme @ s2 @ ( type_M876316792e_FVar @ x ) ) )
    | ~ ( member_nat @ n @ ( type_M1050318637scheme @ ( type_M876316792e_FVar @ x ) ) )
    | ( ( s1 @ n )
      = ( s2 @ n ) ) ) ).

%------------------------------------------------------------------------------